1

OfficeML形式のExcelファイルMyData.xlsがあります。Office2003からOffice2007にアップグレードしたので、ファイルの内容がファイル拡張子と一致しないという警告メッセージが表示されます。OfficeMLの拡張子は「xml」である必要があるようです。

私のアプリケーションでは、OleClientSiteを使用してファイルをOleFrameオブジェクトに表示します。ファイル拡張子を「xml」に変更すると、Excelが起動しません。拡張子を「xsl」のままにすると、上記の警告メッセージが表示されます。

Excelを使用して、拡張子が「xml」のファイルをOleFrameで強制的に開くにはどうすればよいですか?

4

3 に答える 3

2

最も簡単な解決策は、アプリケーションを変更する必要のない 2003 形式に戻すことです。これを行うには、拡張子を *.xls に設定してファイルを開きます。警告 (「... 今すぐファイルを開きますか?」) が表示されたら、開いてください (これは、マクロが有効なファイルを誤って開かないようにするための警告です)。Excel でファイルが開いたら、*.xls として保存します。これは、「Office ボタン/名前を付けて保存/Excel 97-2003 ブック」に移動することで実行できます。

難しい解決策は、新しい OfficeML 形式に対応するようにアプリケーションをアップグレードすることです。使用しているコンポーネントについてはわかりませんが、新しい標準の一部のバイナリ部分 (特に VBA プロジェクト) では引き続き機能する可能性がありますが、XML ファイルを解凍して読み取りを開始する必要があります。 .

まだこれを行っていない場合は、新しい Excel ワークブックを作成し、*.xlsx (2007 形式) として保存し、エクスプローラーで拡張子を *.zip に変更します。開いて周りを見てください。ファイルの詳細については、このMSDN の記事を読み始めます。

于 2009-05-12T18:48:45.570 に答える
1

<?mso-application progid="Excel.Sheet"?>、使用する XSL テンプレートに存在する必要があります。以下のリンクは、処理命令を含める方法を明確に説明しています。私は似たようなことをしなければなりませんでした。

http://www.shareyourwork.org/roller/ralphsjavablog/entry/generating_excel_sheets_with_xslt

于 2011-05-18T14:26:40.037 に答える