如何将数据从数据集导出到 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 后下载 excel 文件

我建议以下作为指南。使用以下代码行将 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();
}

如果浏览器是您要从中下载的文件,这将推送要在浏览器中下载的文件。或者,只需按照上述行的指定将其保存到文件系统中即可。