Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从数据表将数据插入excel工作表_C#_Asp.net - Fatal编程技术网

C# 从数据表将数据插入excel工作表

C# 从数据表将数据插入excel工作表,c#,asp.net,C#,Asp.net,我正在将数据从数据库提取到数据表中,并通过将其绑定到中继器控件来显示它。现在我需要将相同的数据复制到excel电子表格中。如何使用相同的DataTable填充电子表格。请建议。您可以创建一个.csv文件。这是快速而简单的,并且可以在excel中打开它 这篇文章与你的有关: 您可以创建.csv文件。这是快速而简单的,并且可以在excel中打开它 这篇文章与你的有关: 我建议创建一个真正的excel文件,而不是html表格(很多人都这么做)。因此,我可以热情推荐() 那就简单了。假设您有一个按钮Bt

我正在将数据从数据库提取到
数据表
中,并通过将其绑定到
中继器
控件来显示它。现在我需要将相同的数据复制到excel电子表格中。如何使用相同的
DataTable
填充电子表格。请建议。

您可以创建一个.csv文件。这是快速而简单的,并且可以在excel中打开它

这篇文章与你的有关:


您可以创建.csv文件。这是快速而简单的,并且可以在excel中打开它

这篇文章与你的有关:


我建议创建一个真正的excel文件,而不是html表格(很多人都这么做)。因此,我可以热情推荐()

那就简单了。假设您有一个按钮
BtnExportExcel

protected void BtnExcelExport_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
    try {
        var pck = new OfficeOpenXml.ExcelPackage();
        var ws = pck.Workbook.Worksheets.Add("Name of the Worksheet");
        // get your DataTable
        var tbl = GetDataTable();
        ws.Cells["A1"].LoadFromDataTable(tbl, true, OfficeOpenXml.Table.TableStyles.Medium6);
        foreach (DataColumn col in tbl.Columns) {
            if (col.DataType == typeof(System.DateTime)) {
                var colNumber = col.Ordinal + 1;
                var range = ws.Cells[1, colNumber, tbl.Rows.Count, colNumber];
                // apply the correct date format, here for germany
                range.Style.Numberformat.Format = "dd.MM.yyyy";
            }
        }
        var dataRange = ws.Cells[ws.Dimension.Address.ToString()];
        dataRange.AutoFitColumns();

        Response.Clear();
        Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
        Response.AddHeader("content-disposition", "attachment;  filename=NameOfExcelFile.xlsx");
        Response.BinaryWrite(pck.GetAsByteArray());
    } catch (Exception ex) {
        // log exception
        throw;
    } 
    Response.End();
}

我建议创建一个真正的excel文件,而不是html表格(很多人都这么做)。因此,我可以热情推荐()

那就简单了。假设您有一个按钮
BtnExportExcel

protected void BtnExcelExport_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
    try {
        var pck = new OfficeOpenXml.ExcelPackage();
        var ws = pck.Workbook.Worksheets.Add("Name of the Worksheet");
        // get your DataTable
        var tbl = GetDataTable();
        ws.Cells["A1"].LoadFromDataTable(tbl, true, OfficeOpenXml.Table.TableStyles.Medium6);
        foreach (DataColumn col in tbl.Columns) {
            if (col.DataType == typeof(System.DateTime)) {
                var colNumber = col.Ordinal + 1;
                var range = ws.Cells[1, colNumber, tbl.Rows.Count, colNumber];
                // apply the correct date format, here for germany
                range.Style.Numberformat.Format = "dd.MM.yyyy";
            }
        }
        var dataRange = ws.Cells[ws.Dimension.Address.ToString()];
        dataRange.AutoFitColumns();

        Response.Clear();
        Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
        Response.AddHeader("content-disposition", "attachment;  filename=NameOfExcelFile.xlsx");
        Response.BinaryWrite(pck.GetAsByteArray());
    } catch (Exception ex) {
        // log exception
        throw;
    } 
    Response.End();
}

重复问题……:@这里的Parminder excel电子表格是现有的,或者您正在创建一个新的。如果要创建新工作表,也可以使用@Vinay I希望动态创建工作表。重复问题….:@这里的Parminder excel电子表格是现有的,或者您正在创建一个新的。如果要创建新工作表,还可以使用@Vinay I希望动态创建工作表。