(麻烦请认真回答,不要复制连接,最后能提供代码参考)比如我有一个表字段有  时间,累积量内容是2011-05-21 00:00:00      600002011-05-21 00:00:05      61000。。2011-05-21 23:59:59      80000
我想点一下导出日消耗。。就把2011-05-21这天的消耗自动算出来也就是80000-60000,中间的资料可以不要。只要最后这个统计出来---------------------------------------------------------------第二个问题??如果我几个表,我想导出在一个EXCEL又如何实现??

解决方案 »

  1.   

    没明白。
    你这些数据是放在数据库中的还是放在Excel中的?
    把数据读到内存中,每天只取第一条和最后一条不就可以了吗?第二个问题直接写,跟多少个表没关系吧。
      

  2.   

    一般计算是将excel模板做好,导入模板。模板中加入excel公式计算。
    第二中方法,计算好再导入。
      

  3.   

    http://csharp.net-informations.com/excel/csharp-excel-tutorial.htm
    教程上例子看懂就明白了
      

  4.   

    第一个问题:可以通过计算把 2011-05-21这天的消耗自动算出来 ,让后把得到的数据存到DataTable中,导出到Excel中去。第二个同样,不管有多少张表,写个SQL把所有需要的数据查出来放到DataTable中导出去就行了。
      

  5.   

    顶顶  我也有个相类似的问题:网站后台里面  做个统计模块  对学生上传上来的作业姓名、上传时间、老师批阅后的分数,通过输入框输入,然后导入到excel表里面保存  (网站本身用的是sql 2005数据库,但是这个要单独保存在excel中) 
      

  6.   

    唉,我觉得这些在网上找找就能解决了啊,不可能一点都不学就得到最后的结果
    这些都是C#处理excel比较基本的问题啊
      

  7.   

    不好意思,代码你看看啊!
    /// 导出
    /// </summary>
    protected void ExportToExcel()
    {
                string sql = Session["QuerySQL"].ToString();
                if (string.IsNullOrEmpty(sql))
                {
                    return;
                }            TempManager tempManager = new TempManager(this.ConnectionString);
                DataTable dataTable = tempManager.Execute(sql);
              if (dataTable == null)
                       return; string[] colCaptions = new string[] { "类型名称", "产品名称", "数量", "金额" };
    int[] colWidth = new int[] { 100, 120, 120, 150 };string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
    this.Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName);
    this.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); Workbook book = new Workbook();
    book.ExcelWorkbook.ActiveSheetIndex = 1;
    book.Properties.Author = this.CurrentUser.Name;
    book.Properties.Title = "易耗品入库汇总统计";
    book.Properties.Created = DateTime.Now; WorksheetColumn column = null;
    WorksheetCell cell = null;
    WorksheetRow row = null;
    Worksheet sheet = book.Worksheets.Add("易耗品入库汇总统计");                       for (int i = 0; i < colWidth.Length; i++)
    {
    column = new WorksheetColumn();
    column.Width = colWidth[i];
    sheet.Table.Columns.Add(column);
    } bool flag = true;
    row = sheet.Table.Rows.Add();
    foreach (string caption in colCaptions)
    {
    cell = row.Cells.Add(caption);
    if (caption.Trim() == "")
    {
    flag = false;
    continue;
    }
    if (flag == true)
    cell.StyleID = "HeaderStyle1";
    else
    cell.StyleID = "HeaderStyle2";
    }
    #endregion #region file table data
    for (int i = 0; i < dataTable.Rows.Count; i++)
    {
    DataRow dr = dataTable.Rows[i]; row = sheet.Table.Rows.Add(); //类型名称
    string TypeName = dr["TypeName"] as string;
    cell = row.Cells.Add(TypeName);
    cell.StyleID = "StringDataStyle"; //产品名称
    string PrcName = dr["ProName"] as string;
    cell = row.Cells.Add(PrcName);
    cell.StyleID = "StringDataStyle"; //数量
    int Amount = 0;
    try
    {
    Amount = Convert.ToInt32(dr["Amount"]);
    }
    catch
    { }
    cell = row.Cells.Add(Amount.ToString());
    cell.StyleID = "IntDataStyle"; //金额
    double CashSum = 0.0;
    try
    {
    CashSum = Convert.ToDouble(dr["CashSum"]);
    }
    catch
    { }
    cell = row.Cells.Add(CashSum.ToString("0.00"));
    cell.StyleID = "FloatDataStyle";
                                  book.Save(this.Response.OutputStream); this.Response.Flush();
    this.Response.End();
    }
      

  8.   

    这是个方法,你调用的时候传个SQL语句就行了。另外需要注意的是HeaderStyle1 是自己写Excel,StringDataStyle的样式!这个方法就是将你需要的DataTable导出成Exlcel文件。