从GridView asp.net C# – 服务器组件导出到Excel
我导出到从本地主机,但不在生产服务器上正常工作的GridView擅长。 我猜测有需要在服务器上安装一些Excel组件。 有谁知道我需要安装来实现这个工作?
GridViewAllApps.DataBind(); Response.Clear(); Response.Buffer = true; Response.AddHeader("Content-Disposition", "attachment;filename=Applications.xls"); Response.Charset = ""; Response.ContentType = "application/vnd.ms-excel"; System.IO.StringWriter sw = new System.IO.StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(sw); GridViewAllApps.RenderControl(hw); string style = @"<style> .textmode {mso-number-format:\@; } </style>"; Response.Write(style); Response.Output.Write(sw.ToString()); Response.Flush(); Response.End();
LainB,
你在生产服务器上遇到什么错误? 您的网格子类通过一个html写入器将网格呈现为一个Excel文件,您可以使用您创build的称为RenderControl()的方法将string写入文件。 该方法代码可能会使用您的机器上的Office Interop dll(您可能在您的使用语句和/或项目引用中引用它们)。
不幸的是,在Web服务器上运行时,您的代码受限于允许IIS执行的操作。 即使您在服务器上安装了Office组件,您的网站也将无法访问这些文件。 另外,由于法律上的限制,禁止将互操作文件打包成分发版。
请参阅此处从C#创buildExcel(.XLS和.XLSX)文件
解决scheme:我放弃了将DataGrid写入Excel,因为它需要在服务器上安装Excel组件。 Marc的链接将我带到了我安装的EPPlus(dll),并且像梦一样工作。
- 在网站上生成一个xslx文件的最好方法是什么? 可能有数百万行?
- AJAX要求阻止用户界面上的进度可视化
- 无法从格式的excel文件parsingasp.net中的DateTime – 25-OCT-13 01.08.24.732000000 PM
- NPOI Excel数字格式不显示在asp.net中的Excel工作表中
- 100%基于服务器的Excel在浏览器中。 什么是最好的方式/产品?
- 从Excel读取到ASP.NET中的GridView
- 写入数据表excel模板,并在excel中添加backcolor到一行
- 如何使用asp.net c#在浏览器中显示excel图表
- 将CSV文件或Excel电子表格转换为RESX文件