そこで、私たちはまず、ユーザーがブラウザ経由で 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
答え2
いくつかのオプションがありますが、それが機能するかどうかはわかりません (ちなみに、私は XML の経験がありません)。
まず最初に、スプレッドシート全体をテキストのようにフォーマットすることを却下しました。 わかりました。ファイルが大きすぎます。
次に、問題のある数字の前に「'」を追加して、テキストに変換します。繰り返しますが...
3 つ目: 「新しい」xlsx は、xls 形式よりもはるかに優れたファイル サイズ削減効果を発揮します。
4番目に、フォーマットをテキストに変更し、ワークブック全体のエンコードをASCIIまたは同様の単純なものに変更します。詳細はこちらhttps://help.surveygizmo.com/help/encode-an-excel-file-to-utf-8-or-utf-16(必要であればここにさらに情報を追加します)
よく分かりませんが、最後に、CSV に変換してから、エンコードを ASCII またはより小さいコードに変更してみることをお勧めします。