我想将数据从数据表导出到 Excel 文件。我需要将文件保存在服务器上。我正在为这个项目使用控制台应用程序。
问问题
3470 次
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 回答