做的导出功能,现在是写死的保存在桌面上,导出功能浏览器不是会弹出对话框选择保存路径吗?那个要怎么写?
for (int i = 0; i < table.Rows.Count; i++) { Row row = sheettemp.CreateRow(i + 1); row.CreateCell(0).SetCellValue(table.Rows[i][0].ToString()); row.CreateCell(1).SetCellValue(table.Rows[i][5].ToString()); } sheettemp.ForceFormulaRecalculation = true; using (FileStream filewrite = new FileStream(@"C:\Users\Administrator\Desktop\" + string.Concat("报销报表", DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss")), FileMode.Create)) { h.Write(filewrite); filewrite.Close(); }
现在是这样 写死的路径 for循环以及之上都是组装excel的代码 我要怎么写 能让浏览器弹出保存文件的对话框??
1、其实你的所有操作目前都是在服务器端运行,包括路径的指向。
2、你可以先保存到服务器的临时目录,然后
Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=z.zip");
string filename = Server.MapPath("DownLoad/aaa.zip");
Response.TransmitFile(filename);
3 内容写入Response的流中,然后输出。
百度下就知道了
在 Header 中添加文件类型。
Response.Redirect("文件路径"); 最简单的方式,使用浏览器的 下载