首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从使用MemoryStream创建的Excel EPPlus.core生成PDF?

如何从使用MemoryStream创建的Excel EPPlus.core生成PDF?
EN

Stack Overflow用户
提问于 2022-03-16 12:51:55
回答 2查看 1.3K关注 0票数 3

我必须创建一个API在点网络核心,这将返回excel作为PDF。Excel运行良好,但是当我尝试以PDF格式发送它时,您可以在下面的代码中看到:

代码语言:javascript
复制
        [HttpPost]
        [Route("ExportToPdf")]
        public IActionResult ExportToPdf()
        {
            MemoryStream stream = MyClassExcelWorkBook.GetExcel();
            return File(stream, "application/pdf", "excel-Demo.pdf");
        }

MyClassExcelWorkBookGetExcel()中返回已创建的excel的MemoryStream的类。我已经从epplus.core库创建了excel内存流,这是我从NuGet安装的。有人能帮助创建excel内存流到pdf作为响应吗?

EN

回答 2

Stack Overflow用户

发布于 2022-03-23 15:50:28

xlsx流是Microsoft存档,但PDF是打印机输出,因此基本应用程序不能将zip文件转换为打印机文件,除非使用MS导出XLS呈现到MS打印机。这将是Office.net个人电脑上最好的方法。

假设您允许MS.net用户无需安装任何版本的MS。

EPPlus有许多变体或加载项可以完成对PDF的必要转换,而https://www.nuget.org/packages/EpplusExcel/是专门设计为其中之一的,但它的V1和过去7年没有更新的V1可能不是最好的最终支持解决方案,但是值得一试,看看它的方法是如何为您工作的。它是由https://www.nuget.org/profiles/e-iceblue开发的,一个现代的支付等价物将是spire xlsx产品。

避免互操作的最常见的转换器是使用Libre/ Office及其基本语言替代VBA将表区域打印到PDF打印。

我将避免任何X/HTML方法,如从工作表区域结构更改为不适合PDF固定页面生成的填充文本,除非每个页面/工作表被转换为等于单个PDF页的固定布局。

票数 3
EN

Stack Overflow用户

发布于 2022-03-23 14:52:23

根据EPPlus的官方文件,图书馆不支持任何直接输出到PDF。

但是有一个解决办法是使用EPPlus 6.0 beta特性之一HtmlExporter导出Excel,并获取HtmlExporter和样式。

这可以输入到html到PDF转换器,如iText pdfHTMLsharkPdf(wkhtmltopdf的.NET包装器)导出为pdf。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71497423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档