0


0

COMを使用してExcelファイルを開き、.xmlファイルとして保存します

私は次のコードを試しています:

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);

    ?>

これは実際に機能し、Ourtest.xmlファイルを作成します。 しかし、次のような文字を取得しています:

>ࡱá>þÿþÿÿÿ+ SaveAs( "D:\ Ourtest.pdf")で試しましたが、ファイルが破損しているか、正しくデコードされていません。 誰も私を助けてくれますか?

2 Answer


1


これは、Excel形式で保存しているためです。 XMLドキュメントとして保存する方法については、Excelのドキュメントを確認してください。これは、 SaveAs`の個別のパラメーターか、または異なるメソッド( Export * `)である場合があります。

編集: SaveAsを使用するのが正しい方法のようです。 msdn documentation hereを確認してください。 おそらく、2番目のパラメーター `FileFormat`を指定する必要があります。 「XlFileFormat.xlXMLSpreadsheet」の値に設定しているのでしょうか?


1


を使用して解決した問題

$ex->Application->ActiveWorkbook->SaveAs("D:\Ourtest.xml",46);

46は* xlXMLSpreadsheet *の値です+ありがとう