Excel XLSXファイルは、いくつかのXMLファイルを含むZipアーカイブです。すべてのXMLファイルを抽出して編集しましたxl\connections.xml
XMLエディターを使用します。それは、別のサーバーを指すように20以上の接続を変更する必要があるためです。
編集したアーカイブをExcelで開くと、変更が拒否され、ファイルが修復されます。
XMLアーカイブ内のXMLファイルを編集する方法はありますか?
編集はどうしますか?ファイルを完全に抽出するのではなく、7-Zipでアーカイブを開くことをお勧めします。次に、編集するファイルを見つけ、[編集]を選択して保存すると、アーカイブ内で7-Zipによって自動的に置き換えられます。過去にこれを行ったとき、Excelは問題なく開いていましたが、実際に展開してから再圧縮すると問題が発生しました。
アーカイブ内のXMLを問題なく編集できるはずです。 xl\comments1.xml
ファイルとExcelは問題なくそれを開きました。
7-ZipとNotepad ++を使用しました。おそらく、エディターがXMLのエンコードを変更するか、ジッパーがExcelと完全に互換性のないファイルを作成します。
おそらく、変更する必要があるアーカイブ内の別のファイルへの依存関係もあるでしょう。
Excel内で接続を変更し、保存後にアーカイブ内のどのファイルが変更されたかを確認することができます。
コードを使用してExcel XMLを更新することに関心がある場合は、 ExcelPackage など、既存のオープンソースプロジェクトでこれを支援できます。