0

我想将数据从数据表导出到 Excel 文件。我需要将文件保存在服务器上。我正在为这个项目使用控制台应用程序。

4

3 回答 3

1

由于您没有提到是否安装EPPlus了 excel,我建议创建 excel 文件。它有一个方便的方法LoadFromDataTable

using (var pck = new ExcelPackage())
{
    var ws = pck.Workbook.Worksheets.Add("Worksheet-Name");
    ws.Cells["A1"].LoadFromDataTable(dataTable1, true, OfficeOpenXml.Table.TableStyles.Medium1);
    using(var fileStream = File.Create(path))
        pck.SaveAs(fileStream);
}

编辑我刚刚看到你已经标记了export-to-csv

var lines = dataTable1.AsEnumerable()
    .Select(r => string.Join(",", r.ItemArray));
string csv = string.Join(Environment.NewLine, lines);

File.AppendAllText(path, csv);
于 2012-11-23T13:11:27.877 回答
0
if (DtReqDetails != null)
 {
    string attachment = "attachment; filename=History.xls";
    Response.ClearContent();
    Response.AddHeader("content-disposition", attachment);
    Response.ContentType = "application/vnd.ms-excel";
    string tab = "";
    foreach (DataColumn dc in DtReqDetails.Columns)
    {
      Response.Write(tab + dc.ColumnName);
      tab = "\t";
    }
    Response.Write("\n");
    int i;
    foreach (DataRow dr in DtReqDetails.Rows)
   {
      tab = "";
      for (i = 0; i < DtReqDetails.Columns.Count; i++)
       {
        Response.Write(tab + dr[i].ToString());
        tab = "\t";
       }
       Response.Write("\n");
   }
   Response.End();
  }
于 2012-11-23T13:11:10.013 回答
0

如果您使用的是 MS SQL,那么他们有一个用于将表格导出到 Excel 电子表格的内置过程。无需编码。

于 2012-11-23T14:47:22.047 回答