.net C# 导出Excel怎么获取客户端路径
根据查询条件,得到数据集(dsResult)。将数据集导出到客户端指定路径Excel文件。控件(FileUpload1)得到文件路径。stringfileName=Fil...
根据查询条件,得到数据集(dsResult)。将数据集导出到客户端指定路径Excel文件。控件(FileUpload1)得到文件路径。 string fileName = FileUpload1.PostedFile.FileName.ToString(); //得到文件路径
ExportToExcel(dsResult, fileName); //导出的方法
在服务器上可以导出,到客户端就不行了。应该是获取的文件路径不对,代码在本机运行调试的时候可以导出的。 求怎么才能获取客户端导出路径!!!
ExportToExcel(dsResult, fileName); //导出的方法
public static void ExportToExcel(DataSet dataSet, string fileName)
{
....
....//处理数据的方法
try { workbook.Close(true, fileName, System.Reflection.Missing.Value);//执行导出 } catch (Exception e) { throw e;} excelApplication.Quit();
KillExcel();
}
private static void KillExcel()
{ Process[] excelProcesses = Process.GetProcessesByName("EXCEL");
DateTime startTime = new DateTime();
int processId = 0; for (int i = 0; i < excelProcesses.Length; i++) { if (startTime < excelProcesses[i].StartTime) { startTime = excelProcesses[i].StartTime; processId = i; } }
if (excelProcesses[processId].HasExited == false) { excelProcesses[processId].Kill(); } }
怎么跟你那方法结合使用? 加下我QQ:447532243 展开
ExportToExcel(dsResult, fileName); //导出的方法
在服务器上可以导出,到客户端就不行了。应该是获取的文件路径不对,代码在本机运行调试的时候可以导出的。 求怎么才能获取客户端导出路径!!!
ExportToExcel(dsResult, fileName); //导出的方法
public static void ExportToExcel(DataSet dataSet, string fileName)
{
....
....//处理数据的方法
try { workbook.Close(true, fileName, System.Reflection.Missing.Value);//执行导出 } catch (Exception e) { throw e;} excelApplication.Quit();
KillExcel();
}
private static void KillExcel()
{ Process[] excelProcesses = Process.GetProcessesByName("EXCEL");
DateTime startTime = new DateTime();
int processId = 0; for (int i = 0; i < excelProcesses.Length; i++) { if (startTime < excelProcesses[i].StartTime) { startTime = excelProcesses[i].StartTime; processId = i; } }
if (excelProcesses[processId].HasExited == false) { excelProcesses[processId].Kill(); } }
怎么跟你那方法结合使用? 加下我QQ:447532243 展开
4个回答
展开全部
一般没有导出到指定路径这样子的吧,导出就相当于下载,平时下载东西都是另存为自己选择路径。服务器上能找到路径能导出,但是你有没有想过客户端有很多,你所谓的指定路径,有的客户端可能没有,而有的客户端已经存在,这时候咋办呢?除非你可以向qq一样事先设定好一个下载保存文件的路径
using System.IO;
public static void ToTXT(string contents, string fileName)
{
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Charset = "UTF-8";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
HttpContext.Current.Response.ContentType = "application/ms-txt";
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + "" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
TextWriter tw = HttpContext.Current.Response.Output;
tw.WriteLine(contents);
HttpContext.Current.Response.End();
}
这是我自己写的导出txt文件的代码,调试通过,你可以修改下ContentType来得到自己需要的文件格式
using System.IO;
public static void ToTXT(string contents, string fileName)
{
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Charset = "UTF-8";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
HttpContext.Current.Response.ContentType = "application/ms-txt";
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + "" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
TextWriter tw = HttpContext.Current.Response.Output;
tw.WriteLine(contents);
HttpContext.Current.Response.End();
}
这是我自己写的导出txt文件的代码,调试通过,你可以修改下ContentType来得到自己需要的文件格式
展开全部
说实在的,这种导出方法不好!客户端若未安装过office任何产品,必然会报错!而且,导出时候,还有格式限制!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ExportToExcel(dsResult, fileName); 你定义的这个类本身就是保存数据在服务器,而FileUpload1是本地路径.一般ASP是操作的服务器内容,要保存在本地的话只能写一个浏览器插件.
追问
有方法么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/// <summary> /// 导出excel /// </summary> /// <param name="html">html格式</param> /// <param name="excelName">导出excel名称</param> public static void DownloadData(string html, string excelName) {
HttpContext.Current.Response.Charset = "gb2312"; HttpContext.Current.Response.ContentType = "application/excel"; HttpContext.Current.Response.AddHeader("content-disposition", "inline; filename=" + excelName + ".xls"); HttpContext.Current.Response.Write(html); HttpContext.Current.Response.Flush(); HttpContext.Current.Response.End();
}
导出excel时候,让用户自己去选择保存路径,服务器不要干涉
HttpContext.Current.Response.Charset = "gb2312"; HttpContext.Current.Response.ContentType = "application/excel"; HttpContext.Current.Response.AddHeader("content-disposition", "inline; filename=" + excelName + ".xls"); HttpContext.Current.Response.Write(html); HttpContext.Current.Response.Flush(); HttpContext.Current.Response.End();
}
导出excel时候,让用户自己去选择保存路径,服务器不要干涉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |