创建Excel文件并另存为PDF。

11

我有一个Xlsx文件,想要打开它,从后端获取数据,并将其保存为PDF格式发送给客户端。这个过程会一次性创建大约100个文件。

我在网上搜索后发现不再支持使用Excel Interop。我是否必须使用XML SDK?

我不能使用任何第三方产品或API。只能使用Interop或XML,但希望得到编码建议。我有Adobe Pro许可证,并已经在Office自动化中使用它将Excel文件另存为PDF。

我的选择是什么?任何建议将不胜感激。

1个回答

29
你的意思是什么:“不再可能使用Excel Interop”? Office 2013仍然有Interop库,在.NET 4.5.1下可以正常使用。只需将Microsoft.Office.Interop.Excel程序集添加到引用中,即可开始使用。
using System;
using Microsoft.Office.Interop.Excel;

namespace officeInterop
{
    class Program
    {
        static void Main(string[] args)
        {
            Application app = new Application();
            Workbook wkb = app.Workbooks.Open("d:\\x.xlsx");
            wkb.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, "d:\\x.pdf");
        }
    }
}

6
微软认为在 Web 应用程序中使用 Interop 是一种许可违规,因为 Excel 文件会被传输到客户端。 - user3150378
2
注意:只有存在默认打印机时,ExportAsFixedFormat 才能正常工作。 - nan
使用SpireXLS库将文件保存为PDF,效果非常好。 - user3150378
1
除了Spire比较贵,@user3150378会推荐其他的东西给你。 - Quan
@Addy 可能需要在安装了2019 Office的机器上编译,使用其Interop库以确保安全。请务必查看最新的Interop说明,我的知识来自于2010年的黑暗时代,我看到自2016年以来有Nuget包,因此请务必查看新文章 :) 哦,还要记得关闭Interop应用程序,否则你会得到一堆孤立的Office进程。 - PTwr
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接