gpt4 book ai didi

.net - 如何以编程方式填充并获取 Excel 电子表格的 PDF 输出?

转载 作者:行者123 更新时间:2023-12-02 12:09:09 25 4
gpt4 key购买 nike

我有一个 Excel 工作簿,允许我输入某些字段的值,单击按钮,然后根据我的输入生成 PDF 报告。然后我必须选择保存此 PDF 文件的目录。

我必须创建一个类似 REST 的 API,它将接收带有 Excel 工作表输入参数的有效负载,并返回生成的 PDF 文件。

我无法访问工作簿内的宏、数据和逻辑,因此我不能直接在 API 中实现相同的逻辑。工作簿也会定期更改(公式、宏等),唯一保留的就是输入字段和 PDF 输出。

经过一些测试 this library ,我不确定它是否允许我调用按钮(生成 PDF)并指定输出目录。我主要使用 C# 和 .NET,我该如何实现这一点?

最佳答案

您是否考虑过使用 Excel Interop 库?您可以通过安装 Microsoft.Office.Interop.Excel 包通过 Nuget 获取它。

这将允许您打开工作簿,将一些值写入某些单元格,然后运行由按钮调用的宏。

// Start a new instance of Excel
var app = new Interop.Application();

// Open the workbook
var workbook = app.Workbooks.Open(path);

// Set some values
workbook.Worksheets["Sheet1"].Range["A1"].Value2 = 123;

// Run the macro
app.Run("Module1.MyMacro");

但这有一些限制。运行此程序的计算机必须安装 Excel,因为 Interop 库实际上是在打开 Excel。此外,在宏实际完成运行之前,Application.Run 方法将立即返回。您可以通过不断检查 PDF 输出文件是否出现来解决此问题:

while (!File.Exists(path))
{
Thread.Sleep(5000); // wait for 5 seconds
}

关于.net - 如何以编程方式填充并获取 Excel 电子表格的 PDF 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51987571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com