[英]Exporting excel to html using php on windows
我在 windows 上使用 xampp/wamp 并希望将 excel 工作簿转换为 html 文件。
我不是马上问这个问题,我做了很多研究,最后设法达到了一个点并被困在这里。
我正在使用 php 的 COM 库打开 excel,然后阅读工作簿并尝试将其另存为 html,我怎么会遇到问题
这是我的代码
$excel = new COM("Excel.Application",NULL,CP_UTF8) or die("Unable to instantiate Excel");
$excel->Application->Visible=1;
$excel->DisplayAlerts="False";
$workBook=$excel->Workbooks->Open(realpath("./example-03e-02.xlsx"));
$workBook->PublishObjects->Add(xlSourceSheet, "c:\\temp\\x.htm", "Sheet1", "", xlHtmlStatic, "test_27778", "");
$workBook->Publish (True);
$workBook->AutoRepublish(0);
$excel->Workbooks->Close();
$excel->Application->Quit();
$excel = null;
$workBook=null;
PUlishObjects 方法一直告诉我未定义 xlSourceSheet,我试图将其作为字符串“xlSourceSheet”传递,但它一直说参数类型不匹配。 在上述情况下,它表示参数 6 类型不匹配;
如果我删除了诸如 divid 和标题(最后 2 个)之类的可选参数,它会显示源范围的类型不匹配,因为我正在导出工作表,所以显然是空的。
任何人都可以对此有所了解,并告诉我我做错了什么。
谢谢
无论如何,我设法通过进一步深入研究 excel 开发人员手册来解决问题。
我只需要用我在文档中找到的各自的数字替换 xlSourceSheet 和 xlHtmlstatic。 xlSourceSheet 为 1,xlHtmlStatic 为 0。
如果有人在寻找这些代码,他们在这里
xlSourceAutoFilter 3 自动筛选范围 xlSourcePivotTable 6 数据透视表报表 xlSourcePrintArea 2 选择打印的单元格范围 xlSourceQuery 7 查询表(外部数据范围) xlSourceRange 4 单元格范围 xlSourceSheet 1 整个工作表 xlSourceWorkbook 0 工作簿
xlHtmlCalc 1 使用电子表格组件。 在 Excel 2007 中已弃用。 xlHtmlChart 3 使用图表组件。 在 Excel 2007 中已弃用。 xlHtmlList 2 使用数据透视表组件。 在 Excel 2007 中已弃用。 xlHtmlStatic 0 使用 static(非交互式)HTML 仅供查看。
$object=$excel->ActiveWorkbook->PublishObjects->Add(1,"c:\\temp\\x.htm","Sheet1",0)->Publish(1);
谢谢 cweiske:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.