繁体   English   中英

使用带有单独标题字段的C#将数据导出到excel

[英]Export Data to excel using C# with separate header fields

我必须将一些数据导出到excel。我已经完成了导出数据,该数据是从sql查询中获取的并将其绑定到网格视图,然后将该网格视图导出到excel。 工作正常。

但是问题是,当excel表中有一些其他信息要显示时,如下所示( 报告日期,样式名称 ),如何将它们添加到excel列表中数据列表的顶部。

样本格式

有没有可用的库来执行此操作。.Plzz帮助...

这是一个ASP.NET应用程序。

看一下Epplus库。

您可以轻松地将SQL查询返回的结果集绑定到工作表,然后在所需位置插入新行。

private void DumpExcel(DataTable tbl)
{
   using (ExcelPackage pck = new ExcelPackage())
   {
     //Create the worksheet
     ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Demo");


     //Load the datatable into the sheet, starting from cell A1.
     ws.Cells["A1"].LoadFromDataTable(tbl, true);
     ExcelWorksheet.InsertRow(int rowFrom, int rows, intCopyStylesFromRow);

     Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
     Response.AddHeader("content-disposition", "attachment;  filename=ExcelDemo.xlsx");
     Response.BinaryWrite(pck.GetAsByteArray());
    }
 }

有几个库可以做到这一点。 我已经尝试过这个npoi dll

您可以进行有关库的广泛讨论,以使用C#编写excel。 使用C#写入Excel

protected void bt_Express_Click(object sender, EventArgs e)
    {
        string ex = ".xls";
        string FName = "Danh_Sach_Hoc_Sinh";
        FName += ex;
        HtmlForm form = new HtmlForm();
        Literal header = new Literal();
        Response.Clear();
        Response.AddHeader("content-disposition", "attachment; filename=" + FName);
        Response.Charset = "UTF-8";
        Response.ContentType = "application/vnd.ms-excel";
        System.IO.StringWriter stringWrite = new System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
        header.Text = "<table><tr><td colspan='6'>Trường: " + Session["TenTruong"].ToString() + "</td><td colspan='2'>Năm học: " + Session["TenNamHoc"].ToString() + "</td></tr> " +
            "<tr><td ALIGN='CENTER' colspan='8'>DANH SÁCH HỌC SINH LỚP.</td></tr>" +
            "<tr><td colspan='8'>" + ((cb_Khoi.SelectedValue == "" && cb_Lop.SelectedValue == "") ? "Toàn trường" : ((cb_Khoi.SelectedValue != "" && cb_Lop.SelectedValue == "") ? "Toàn khối " + cb_Khoi.SelectedValue : "Lớp: " + cb_Lop.SelectedItem.Text + " - Giáo viên: " + db.Rows[0]["GiaoVien"].ToString())) + "</td></tr>" +
            "</table>";

        form.Attributes["runat"] = "server";
        form.Controls.Add(header);
        form.Controls.Add(gv_dshocsinh);
        Controls.Add(form);
        form.RenderControl(htmlWrite);
        Response.Write(stringWrite.ToString());
        Response.End();
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM