因此,我們首先嘗試允許用戶透過瀏覽器下載 CSV 文件,效果很好(有些文件約為 375MB)。然而,看起來客戶端不會接受這一點,因為 a) 數字格式,b) 刪除前導零和 c) 更改長數字,例如157839481905
to的狀態碼1.58E10
。
如果您使用過 Excel,那麼您對這些「我以為您想要這「行為..
因此,我們需要串流 Excel 文件,但有不同的格式嗎? (假設該問題的使用者可以使用最新版本的 Excel)
我相信 Excel 可以將正確指定的 XML 檔案作為電子表格打開,其中可能包含正確的「將其格式設為文字」指令,但對於大型檔案來說可能會真正失控。有沒有更原生、更精簡的 Excel 格式?沒有那麼多的標記?如果您知道的話,它在哪裡描述?
--編輯--
我想我會利用我的發現來幫助社區。首先,我們嘗試="0040"
在引號前使用 ie 等號。可以工作,但對於大檔案來說太大了,Excel 會崩潰並崩潰。
我們之前嘗試在引號內使用特殊字符,有效,但格式是一個問題。
您可以串流 XLSX 檔案嗎?不!
原因:XLSX 文件實際上是一個壓縮文件,裡面有兩個關鍵文件,一個名為sharedStrings.xml,它是所有唯一單元格值的列表,另一個是單元格列表,但帶有對第一個sharedStrings .xml 的數字引用檔。整個資料夾已被壓縮,這就是您的 XLSX 檔案。所以 XLSX 檔必須是建成,未串流。
答案1
答案2
我看到的選項很少,但我不確定它是否有效(順便說一句,我對 xml 沒有經驗):
您所忽略的第一件事是將整個電子表格的格式設定為文字。好吧,文件太大了。
其次,在麻煩的數字前面加上“'”,將其轉換為文字。再次...
第三:「新的」xlsx 在減少檔案大小方面應該相當出色,比 xls 格式好得多。
第四,將格式更改為文本,並將整個工作簿的編碼更改為 ASCII 或類似簡單的內容。更多資訊請點這裡https://help.surveygizmo.com/help/encode-an-excel-file-to-utf-8-or-utf-16(如果需要的話我會在這裡添加更多資訊)
不確定,但就像最後一件事一樣,我會嘗試轉換為 csv,然後將編碼更改為 ASCII 或更小的編碼。