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

在这里,我不知道如何下载Excel文件后,从数据集发送数据到Excel文件。 这是我的代码请帮助

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(); } 

我会build议以下作为指导。 将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(); } 

这将推动文件被下载在浏览器中,如果浏览器是你想从哪里下载的。 或者,只要使用上面的行将其保存到文件系统即可。