0

私は最近、この主題に精通しているという考えを与えるために、いくつかのレガシー コードを継承しました。

必要な XML ファイルを含む zip パッケージを作成して Excel スプレッドシート (.xlsx) を作成する C# アプリケーションがあります。アプリケーションは [Content_Types].xml ファイルを手動で作成し、Visual J# を使用してパッケージを圧縮します。System.IO.Packaging.ZipPackage を使用して、Visual J# への依存を取り除こうとしています。

必要なすべてのファイルを使用して、zip パッケージを正しく構築できます。パッケージ パーツを追加するときに、[Content_Types].xml に反映されるコンテンツ タイプ文字列を設定します。ただし、[Content_Types].xml には必要なエントリがいくつか欠落しており、Excel はこれを破損したファイルと解釈します。

たとえば、正しいコンテンツ タイプ ファイルには、「rels」という名前のデフォルト エントリがあります。

<Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/>

私の zip パッケージでは、rels エントリの ContentType 属性に空の文字列が含まれています。rels はパッケージの一部ではないため、ContentType の設定方法がわかりません。これを手動で行う方法はありますか?

4

1 に答える 1

0

Excel ドキュメントの ZipPackage に "xl/_rels/workbook.xml.rels" および "xl/worksheets/_rels/datatable.xml.rels" のパーツを作成する場合、それらの ContentType 文字列を "application/vnd.openxmlformats-package.relationships" に設定します。 +xml".

これは、ISO/IEC 29500-2、付属書 F に従って、リレーションシップ パートの ContentType を設定します。

于 2013-01-08T19:32:14.213 に答える