我目前正在开发一个简单的程序(使用ASP.Net C#)将GridView中的数据填充到Excel文件中。 Excel文件将需要下载到客户端计算机。
由于某些原因,我需要在下载到客户端本地计算机后快速操作Excel文件。
问题是我无法获取下载文件的文件位置。 如何在下载到客户端计算机后获取文件位置?
这是截图:
下载代码:
private void Create_ExcelContent2()
{
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=" + ddlBatchID.Text + ".xls");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
using (StringWriter sw = new StringWriter())
{
HtmlTextWriter hw = new HtmlTextWriter(sw); ...
gvBatchSummary.RenderControl(hw);
string style = @"<style> .textmode { } </style>";
Response.Write(style);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
}
}
答案 0 :(得分:1)
对此的简短回答是你不能这样做。一旦文件在本地机器服务器端,代码就无法用来操纵它。如果你可能的安全影响将是一个雷区。
答案 1 :(得分:0)
为什么不尝试以下
string folderPath = string.Empty;
using (FolderBrowserDialog fdb = new FolderBrowserDialog()) {
if (fdb.ShowDialog() == DialogResult.OK ){
folderPath = fdb.SelectedPath;
}
}
抱歉,我没见过@fubo,
修改强>
如果您想要该目录路径,那么为什么不将它保存到带前缀的本地系统路径,然后从那里读取并操作它。