首页 新闻 赞助 找找看

请问怎样让string类型转换成EXCEL下载,在一般处理类中。

0
悬赏园豆:10 [已解决问题] 解决于 2013-12-09 16:29

请问怎样让string类型转换成EXCEL下载,在一般处理类处理?

面包快跑的主页 面包快跑 | 初学一级 | 园豆:189
提问于:2013-12-09 11:01
< >
分享
最佳答案
0

你用excel相关的插件,可以解决。

也可以简单的使用   

 page.Response.ContentType = "application/ms-excel";

 page.Response.AppendHeader("Content-Disposition", "attachment;filename=" + "fileName.xls");
 page.Response.Charset = encoding.ToString();
 page.Response.ContentEncoding = encoding;
 page.Response.Write("<table><tr><td>contentStrings</td></tr></table>");
 page.Response.Flush();
 page.Response.End();

收获园豆:10
Albert Fei | 老鸟四级 |园豆:2102 | 2013-12-09 13:41

你好,我这边是JqueryUI 的datagrid 数据外导。已经生成了excel 的XML 格式,现在就是怎么把这个XML格式直接也字节流的形式下载到客户端?

面包快跑 | 园豆:189 (初学一级) | 2013-12-09 13:57

@luoxiang:  那你就把xml字节流的格式保存为.xls或者为.xlsx格式文件就行了,在客户端用个href.src=你的文件地址就行了

或者直接page.Response.Write("你的xml文件格式字符串");

Albert Fei | 园豆:2102 (老鸟四级) | 2013-12-09 14:04

@Albert Fei: 你好你的意思是,必须保存一份数据到服务器上才能下载给客户端吗?

面包快跑 | 园豆:189 (初学一级) | 2013-12-09 14:10
你好,我这边是JqueryUI 的datagrid 数据外导成EXCEL,已经生成啦EXCEL的XML形式。现在我想把这个XML通过$.post到一般处理类来下载。一般处理类是这样:       string exportContent = context.Request.Form["ExportContent"].ToString();
        context.Response.ContentType = "application/ms-excel";
        context.Response.AppendHeader("Content-Disposition", "attachment;filename=导出测试.xls");         context.Response.Charset = "GB2312";         context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");         context.Response.Write(exportContent);         context.Response.Flush();         context.Response.End();
外导没有任何反应,应该怎么处理让这个XML也.xls的形式下载到客户端啊?谢谢。
面包快跑 | 园豆:189 (初学一级) | 2013-12-09 14:21

@luoxiang: 你excel内容是哪里来的? 客户端生成的吗 还是服务器上生成的。

还有也可以不用保存在硬盘上,直接读到内存再response到客户端就行了。

Albert Fei | 园豆:2102 (老鸟四级) | 2013-12-09 16:46
其他回答(2)
0

能说的更详细些吗?你是想做excel导出吗?

秋壶冰月 | 园豆:5903 (大侠五级) | 2013-12-09 12:20

我这边是JqueryUI 的datagrid 数据外导成EXCEL,已经生成啦EXCEL的XML形式。现在我想把这个XML通过$.post到一般处理类来下载。一般处理类是这样:       string exportContent = context.Request.Form["ExportContent"].ToString();         context.Response.ContentType = "application/ms-excel";         context.Response.AppendHeader("Content-Disposition", "attachment;filename=导出测试.xls");         context.Response.Charset = "GB2312";         context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");         context.Response.Write(exportContent);         context.Response.Flush();         context.Response.End();

外导没有任何反应,应该怎么处理让这个XML也.xls的形式下载到客户端啊?谢谢。
支持(0) 反对(0) 面包快跑 | 园豆:189 (初学一级) | 2013-12-09 14:21
0

            string fileName = DateTime.Now.ToString("yyyyMMddhhmmss")+".xls";                         string exportContent = context.Request.Form["ExportContent"].ToString();             string typeName = context.Request.Form["TypeName"].ToString();                         string ExcelFileName = System.Web.HttpContext.Current.Server.MapPath("./") + "/dataExport/" +typeName+fileName;             FileStream fs = File.Create(ExcelFileName);             fs.Close();

            StreamWriter writer = new StreamWriter(ExcelFileName, false);             writer.WriteLine(exportContent);             writer.Close();

            context.Response.Write("Data/dataExport/" + typeName+fileName);   然后  href 下载

面包快跑 | 园豆:189 (初学一级) | 2013-12-09 16:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册