質問

ユーザーがサビされたXLSXファイル内の変数を置き換える必要があり、このようにしています。

  1. .xlsxの名前を.zipに変更します
  2. 温度折りたたみにジップします
  3. 必要な変更を加えます
  4. ファイルをジップします
  5. .zipを.xslxに変更します

私はPHPでPlane Ziparchiveを使用しています。 Excelで生成された.xlsxを開こうとすると、メッセージが失敗します format or extension invalid. 。 winrar(zipとして)で一時ファイルを圧縮し、結果のファイルを.xlsxに変更すると動作します。両方のメソッドで生成されたZIPファイルには、同じデータ構造とファイルが含まれていますが、WinRARファイルはわずかに大きくなっています(10.2K対10.3Kと通常の圧縮)。

ファイルの文字化けコードを表示するとき、ファイルが別の順序で表示されることがわかりましたが、それが原因かどうかはわかりません。どんな手がかりも大歓迎です。

役に立ちましたか?

解決

別のコンポーネントPCLZIP(phpconcept.net/pclzip)で動作するようにしました。これは明らかにGZIPを使用しているクラスであり、その出力を.xlsxに変更することはExcel 2007で問題ありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top