2016-04-11 157 views
0

私たちはWindows Server上でMS Interop Excelを使用しようとしており、WCFで使用しています(ごめんなさい、本当に完全に理解できないので、もっと詳しく説明することはできません)。 。Microsoft Interop Excel SaveCopyAs with xlsx version

SaveCopyAsメソッドを使用して、生成されたExcelファイルを一時ディレクトリに保存し、それをバイト配列に読み込んで返信します。

拡張子を付けてファイルに保存した後、Excelでファイルが破損しているという警告が表示された後、クライアントアプリケーションでxlsに手動でファイル名を変更した後、すべて正常に機能します。

簡単な調査の後、オフィスでは古いファイルバージョン(?)の一部として保存されているようです。だから1つの解決策は有効なパラメータでSaveAsメソッドを使用することですが、私たちは多くのトラブルを引き起こしますので、SaveCopyAsに固執します。

SaveAsメソッドを使用しないと、このようなファイルを新しいファイル形式で保存する方法はありますか?

(そして、あなたは、おそらくそれはSystem.Runtime.InteropServices.COMException (0x800A03EC): Exception from HRESULT: 0x800A03EC例外だ、今ではそれを考え出した。)

+2

私は3つの可能性を見ています。1.元のExcelファイルを新しい形式で作成します。 2.クライアントにxls拡張子でファイルを保存させます。 3. SaveAs()を使用して、問題を解決します。 – NineBerry

+0

ランタイムエラー1004には多くの原因があります。近い一致はhttp://stackoverflow.com/questions/9751622/run-time-error-1004-for-saving-excel-file-vba-requiredです –

+0

Office/Excelの新しいバージョンファイル拡張子と一致するファイル形式が必要です。これはセキュリティ手段です。したがって、xlsx拡張子を古いファイル形式(xls)のファイルに追加すると警告が表示されます。これは設計によるものです。もう1つの選択肢は、サーバー環境(これはサポートされていない)でExcelアプリケーションを自動化しないで、Office Open XMLファイル形式で直接作業することです。 –

答えて

0

私たちが持っていたすべての問題のソースは確認せずにオフィス2013がインストールされていますと言っサーバメンテナンスのため、当社の従業員が担当していました実際には2003年です。

関連する問題