我在Microsoft.com网站上使用以下示例将数据从sql server导出到Excel工作表我略微修改了示例以使用datatable
作为我的版本,同时调试它循环遍历所有行但只有它显示实际excel文件中的最后一行
以下是vs 2010的代码,我确信我确实错过了一些东西
foreach (DataRow row in dt.Rows)
{
// rowCounter++;
workSheet.Cells[1, "A"] = row["Date"];
workSheet.Cells[1, "B"] = row["Title"];
workSheet.Cells[1, "C"] = row["Description"];
}
((Excel.Range)workSheet.Columns[1]).AutoFit();
((Excel.Range)workSheet.Columns[2]).AutoFit();
((Excel.Range)workSheet.Columns[3]).AutoFit();
我如何修改此代码以便将输出写入Download_Excel.xls
文件
以上代码仅显示excel中的最后一行。 的输出
它不会自定义标题。
我做的两件事。
首先ROWINDEX
从1开始,所以我设置ROWINDEX= 2
并且工作正常
工作代码
foreach (DataRow row in dt.Rows)
{
rowCounter++;
workSheet.Cells[rowCounter, "A"] = row["Date"];
workSheet.Cells[rowCounter, "B"] = row["Title"];
workSheet.Cells[rowCounter, "C"] = row["Description"];
}
string fileName = "Product.xls";
excelApp.DisplayAlerts = false;
workSheet.SaveAs(HttpContext.Current.Server.MapPath("../"+fileName));
答案 0 :(得分:0)
确保沿途更改索引。现在你总是覆盖第1行,每行继续增加它。