繁体   English   中英

将数据从数据集导出到Excel后如何下载Excel文件?

[英]How to download excel file after exporting data from Dataset to Excel?

在这里,我不知道如何将数据从数据集发送到Excel文件后,如何下载Excel File 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();
}

如果您要从浏览器中下载文件,它将在浏览器中推送要下载的文件。 或者,只需使用上面的行将其保存到文件系统即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM