Excel/XLSX 檔案是否有不同的格式,哪種格式最小?

Excel/XLSX 檔案是否有不同的格式,哪種格式最小?

因此,我們首先嘗試允許用戶透過瀏覽器下載 CSV 文件,效果很好(有些文件約為 375MB)。然而,看起來客戶端不會接受這一點,因為 a) 數字格式,b) 刪除前導零和 c) 更改長數字,例如157839481905to的狀態碼1.58E10

如果您使用過 Excel,那麼您對這些「我以為您想要「行為..

因此,我們需要串流 Excel 文件,但有不同的格式嗎? (假設該問題的使用者可以使用最新版本的 Excel)

我相信 Excel 可以將正確指定的 XML 檔案作為電子表格打開,其中可能包含正確的「將其格式設為文字」指令,但對於大型檔案來說可能會真正失控。有沒有更原生、更精簡的 Excel 格式?沒有那麼多的標記?如果您知道的話,它在哪裡描述?

--編輯--

我想我會利用我的發現來幫助社區。首先,我們嘗試="0040"在引號前使用 ie 等號。可以工作,但對於大檔案來說太大了,Excel 會崩潰並崩潰。

我們之前嘗試在引號內使用特殊字符,有效,但格式是一個問題。

您可以串流 XLSX 檔案嗎?不!

原因:XLSX 文件實際上是一個壓縮文件,裡面有兩個關鍵文件,一個名為sharedStrings.xml,它是所有唯一單元格值的列表,另一個是單元格列表,但帶有對第一個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 沒有經驗):

您所忽略的第一件事是將整個電子表格的格式設定為文字。好吧,文件太大了。

其次,在麻煩的數字前面加上“'”,將其轉換為文字。再次...

第三:「新的」xlsx 在減少檔案大小方面應該相當出色,比 xls 格式好得多。

第四,將格式更改為文本,並將整個工作簿的編碼更改為 ASCII 或類似簡單的內容。更多資訊請點這裡https://help.surveygizmo.com/help/encode-an-excel-file-to-utf-8-or-utf-16(如果需要的話我會在這裡添加更多資訊)

不確定,但就像最後一件事一樣,我會嘗試轉換為 csv,然後將編碼更改為 ASCII 或更小的編碼。

相關內容