Excel/XLSX ファイルにはさまざまな形式がありますか? 最も小さいのはどれですか?

Excel/XLSX ファイルにはさまざまな形式がありますか? 最も小さいのはどれですか?

そこで、私たちはまず、ユーザーがブラウザ経由で CSV ファイルをダウンロードできるようにしようとしましたが、これは問題なく機能しました (一部のファイルは約 375 MB です)。ただし、a) 数字のフォーマット、b) 先頭のゼロの削除、c) 州コードなどの長い数字を に変更することが原因で、クライアントがこれを受け入れないよう157839481905です1.58E10

Excelを使用したことがあるなら、これらの「これ「行動...」

Excel ファイルをストリーミングする必要がありますが、異なる形式はありますか? (この質問では、ユーザーが最新バージョンの Excel にアクセスできると想定します)

Excel では、適切に指定された XML ファイルをスプレッドシートとして開くことができ、適切な「テキストとしてフォーマットする」指示が含まれている可能性がありますが、ファイルが大きいと手に負えなくなる可能性があります。よりネイティブで、よりスリムな Excel 形式はありますか? マークアップがそれほど多くない形式はありますか? ご存知の場合は、どこに記載されていますか?

--編集--

私が見つけたことをコミュニティに役立てたいと思いました。まず、="0040"引用符の前にイコール記号を使うことを試しました。うまくいきましたが、大きなファイルではサイズが大きすぎるため、Excel が異常終了してクラッシュしました。

以前、引用符内に特殊文字を入れてみましたが、動作はしましたが、フォーマットに問題がありました。

XLSX ファイルをストリーミングできますか? できません!

理由: XLSXファイルは実際には2つのキーファイルを含む圧縮ファイルです。1つはsharedStrings.xmlで、すべての一意のセル値のリストです。もう1つはセルのリストですが、最初のsharedStrings.xmlファイルへの番号参照があります。フォルダー全体が圧縮されており、それがXLSXファイルです。したがって、XLSXファイルは建てられた、ストリーミングされません。

答え1

それはあなたの質問に対する答えではありませんが、問題の原因に対する答えです。

CSV ファイルを開いたときに Excel で数字が短縮されるのを避けたい場合は、数式のように の="0123456789"代わりにを使用できます。0123456789

例:

Name,Value,Value as text
Small int,01234,="01234"
Long int,0123456789,="0123456789"
Very long int,01234567890123456789,="01234567890123456789"

結果:

Excelでの結果

答え2

いくつかのオプションがありますが、それが機能するかどうかはわかりません (ちなみに、私は XML の経験がありません)。

まず最初に、スプレッドシート全体をテキストのようにフォーマットすることを却下しました。 わかりました。ファイルが大きすぎます。

次に、問題のある数字の前に「'」を追加して、テキストに変換します。繰り返しますが...

3 つ目: 「新しい」xlsx は、xls 形式よりもはるかに優れたファイル サイズ削減効果を発揮します。

4番目に、フォーマットをテキストに変更し、ワークブック全体のエンコードをASCIIまたは同様の単​​純なものに変更します。詳細はこちらhttps://help.surveygizmo.com/help/encode-an-excel-file-to-utf-8-or-utf-16(必要であればここにさらに情報を追加します)

よく分かりませんが、最後に、CSV に変換してから、エンコードを ASCII またはより小さいコードに変更してみることをお勧めします。

関連情報