我有一个用ASP.Net作为附件准备的网页。我想将此页面导出到服务器端的Excel。我试过的方法;
有什么想法吗?
答案 0 :(得分:1)
1。除非将图表转换为图片,否则无法将图表导出到html页面。您需要构建不同的html并将图像附加到其中。此解决方案不会导出真正的Excel文件,而是导出具有XLS扩展名的HTML。大多数程序员都指责这种做法,并且当使用最新的MS Excel版本打开文件时,您将收到一条警告,指出文件格式无效。 MS Excel仅识别html文件并将数据调整为其电子表格。
2. 您需要将图表转换为图片jpg,png,gif。解决方案取决于您用于显示图表的内容。 将图表导出到图片并使用img标签附加图片。
3. 如果是永久报告,您可以考虑将图表保留为服务器端的png而不保存临时文件。但这可能会溢出服务器端的硬盘驱动器。这取决于你有多少报告。
4. 使用Interop,您不仅可以导出html,还需要逐步构建Excel文件,添加工作表,添加单元格并添加图表。是的,你也可以嵌入图表。但是不建议在服务器端使用Interop :
https://support.microsoft.com/en-us/help/257757/considerations-for-server-side-automation-of-office
5. 最佳解决方案是使用Excel库。有很多这样的库,你需要选择最适合你的库:
- Open XML SDK用于XLSX文件,
- NPOI用于XLS或XLSX文件,
- EPPLus用于XLSX文件,
- EasyXLS用于XLS或XLSX文件
- 或您可能找到的任何其他人
有些库有一些有用的方法可以导入html数据,但是图表需要单独添加。