PHP 在 Windows 系统中执行 Excel 转 PDF 出错,有没有做过的指点一二

2021-07-20 09:58:32 +08:00
 s609926202

关键在于报错信息部分乱码,无法准确判断哪里出问题了,如:Error [0x8002000e] ��Ч�IJ�����Ŀ��

以下是执行的代码:

$inpath = 'D:\file.xlsx';
$outpath = 'D:\file.pdf';

$excel = new \COM('Excel.Application') or die ("Error: Could not windows excel Object.");
$excel->Visible = 0;
$excel->Workbooks->Open($inpath) or die("ERROR: Unable to open $file");

$sheetname = $excel->ActiveSheet->name;
$excel->ActiveSheet->ExportAsFixedFormat($outpath, 17, false, 0, 0, 0, 0, 7, true, true, 2, true, true, false);
$excel->Quit();
unset($excel);
778 次点击
所在节点    问与答
8 条回复
emeab
2021-07-20 10:01:15 +08:00
编码问题
s609926202
2021-07-20 10:14:21 +08:00
@emeab 请问如何解决、
myd
2021-07-20 10:44:38 +08:00
我做过。那个提示的编码是 gbk 的,要转成 utf8
s609926202
2021-07-20 11:10:10 +08:00
@myd 完美解决、看着不太像 gbk 编码、、、实际就是
s609926202
2021-07-20 11:19:31 +08:00
@myd 顺便请教下,我调用 ExportAsFixedFormat 保存为 PDF 时,一直提示:无法保存该文档。该文档可能已被打开,或者保存时出错。

请问是什么原因导致的、
fengci
2021-07-20 12:03:30 +08:00
@s609926202 就字面意思,你是不是前面打开了没关闭进程
s609926202
2021-07-20 13:16:49 +08:00
@fengci 不是,是存储路径的问题
ysc3839
2021-07-20 19:23:58 +08:00
0x8002000e 对应的是 DISP_E_BADPARAMCOUNT https://www.hresult.info/FACILITY_DISPATCH/0x8002000E
乱码的应该是这个错误的中文描述,意义并不大,你需要找到哪里出现的错误。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/790523

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX