Php 使用COM打开excel文件并将其另存为.xml文件
我正在尝试以下代码:Php 使用COM打开excel文件并将其另存为.xml文件,php,xml,excel,com,Php,Xml,Excel,Com,我正在尝试以下代码: <?php $workbook = "D:\b2\\test.XLS"; $sheet = "Sheet1"; #Instantiate the spreadsheet component. $ex = new COM("Excel.sheet") or Die ("Did not connect"); #Get the application name and version print
<?php
$workbook = "D:\b2\\test.XLS";
$sheet = "Sheet1";
#Instantiate the spreadsheet component.
$ex = new COM("Excel.sheet") or Die ("Did not connect");
#Get the application name and version
print "Application name:{$ex->Application->value}<BR>" ;
print "Loaded version: {$ex->Application->version}<BR>";
#Open the workbook that we want to use.
$wkb = $ex->application->Workbooks->Open($workbook) or Die ("Did not open");
#Create a copy of the workbook, so the original workbook will be preserved.
$ex->Application->ActiveWorkbook->SaveAs("D:\b2\Ourtest.xml");
#$ex->Application->Visible = 1; #Uncomment to make Excel visible.
#Optionally, save the modified workbook
$ex->Application->ActiveWorkbook->SaveAs("D:\Ourtest.xml");
#Close all workbooks without questioning
$ex->application->ActiveWorkbook->Close("False");
unset ($ex);
?>
Application->Visible=1#取消注释以使Excel可见。
#(可选)保存修改后的工作簿
$ex->Application->ActiveWorkbook->SaveAs(“D:\Ourtest.xml”);
#毫无疑问地关闭所有工作簿
$ex->应用程序->活动工作簿->关闭(“假”);
未结算(美元除外);
?>
这实际上起作用并创建了Ourtest.xml文件。但我得到的角色是:
ÐÏÿÿÿÿÿ我试过使用SaveAs(“D:\Ourtest.pdf”),它说文件已损坏或解码错误。
有人能帮我吗?谢谢,这是因为您正在将其保存为Excel格式。查看Excel文档以了解如何将其保存为XML文档-它可能是
SaveAs
的单独参数,也可能是一个不同的方法(Export*
)
编辑:似乎
SaveAs
是正确的使用方法。检查一下。您可能需要指定第二个参数FileFormat
。也许可以将其设置为XlFileFormat.xlxmlseadsheet
值?通过使用
$ex->Application->ActiveWorkbook->SaveAs("D:\Ourtest.xml",46);
46是xlXMLSpreadsheet谢谢大家文档位于$ex->Application->ActiveWorkbook->SaveAs(“D:\b2\Ourtest.xml”,XlFileFormat.xlxmlseadsheet);应该是这样吗?$ex->Application->ActiveWorkbook->SaveAs(“D:\Ourtest.xml”,Excel.XlFileFormat.xlXMLSpreadsheet);我已经尝试过了,但是我得到了“无法获取SaveAs属性…”尝试输出“Excel.XlFileFormat.xlxmlsepeadsheet”-这样行吗?如果不是,则使用VBA打印该常量的值,并在PHP中定义该值。