如何将数据从数据集导出到 Excel 后下载 excel 文件
本文关键字:Excel 下载 文件 excel 数据 数据集 | 更新日期: 2023-09-27 18:35:27
在这里我不知道如何在将数据从数据集发送到Excel文件后下载Excel文件foramt。这是我的代码请帮助
public void exporttoexcel(DataTable dt)
{
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
for (int i = 1; i < dt.Columns.Count + 1; i++)
{
xlWorkSheet.Cells[1, i] = dt.Columns[i - 1].ColumnName;
}
for (int j = 0; j < dt.Rows.Count; j++)
{
for (int k = 0; k < dt.Columns.Count; k++)
{
xlWorkSheet.Cells[j + 2, k + 1] = dt.Rows[j].ItemArray[k].ToString();
}
}
xlWorkBook.Save();
xlWorkBook.Close();
xlApp.Quit();
}
我建议以下作为指南。使用以下代码行将 excel 文件保存到文件系统的某个位置以指定位置:
xlWorkBook.SaveAs(Path.Combine(filePath, fileName));
然后调用以下方法,将文件位置和名称作为参数传递
private void GenerateFile(string strPath)
{
var file = new FileInfo(@strPath);
Response.Clear();
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment; filename='"" + file.Name + "'"");
Response.AddHeader("Content-Length", file.Length.ToString());
Response.TransmitFile(file.FullName);
HttpContext.Current.ApplicationInstance.CompleteRequest();
}
如果浏览器是您要从中下载的文件,这将推送要在浏览器中下载的文件。或者,只需按照上述行的指定将其保存到文件系统中即可。