gpt4 book ai didi

pdf - 使用 JavaScript 将 Excel 转换为 PDF

转载 作者:行者123 更新时间:2023-11-28 13:44:08 25 4
gpt4 key购买 nike

如何以自动方式将 Excel 文档(文件)转换为 PDF?我正在尝试调整找到的解决方案 here脱颖而出。到目前为止我有这个:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var docPath = WScript.Arguments(0);
docPath = fso.GetAbsolutePathName(docPath);

var pdfPath = docPath.replace(/\.xls[^.]*$/, ".pdf");
var objExcel = null;

try
{
WScript.Echo("Saving '" + docPath + "' as '" + pdfPath + "'...");

objExcel = new ActiveXObject("Excel.Application");
objExcel.Visible = false;

var objExcel = objExcel.Workbooks.Open(docPath);

var wdFormatPdf = 17;
objExcel.SaveAs(pdfPath, wdFormatPdf);
objExcel.Close();

WScript.Echo("Done.");
}
finally
{
if (objExcel != null)
{
objExcel.Quit();
}
}

我得到这个输出:

Saving 'somefile.xlsx' as 'somefile.pdf'...
Done.
..\SaveXLSXAsPDF.js(27, 9) (null): The object invoked has disconnected from its clients.

已创建 PDF 文件,但该文件无效且无法在阅读器中打开。我想也许格式 17 不适合 Excel。有谁知道正确的数字或​​如何使其正常工作?

编辑:我发现提到了正确的号码 here (57) 但现在我收到此错误:

r:\Web\Roman\SaveXLSXAsPDF.js(27, 13) Microsoft JScript runtime error: Class doesn't support Automation

最佳答案

您在第 15 行破坏了 objExcel:

var objExcel = objExcel.Workbooks.Open(docPath);

这些代码行需要使用不同的变量,例如:

var objWorkbook = objExcel.Workbooks.Open(docPath);

var wdFormatPdf = 57;
objWorkbook.SaveAs(pdfPath, wdFormatPdf);
objWorkbook.Close();

关于pdf - 使用 JavaScript 将 Excel 转换为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15673628/

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