Tablora · 資料庫
保留看似SpreadsheetML跳脫的文字
_x0041_這樣的文字是XLSX檔案內的跳脫代碼。保留文字的匯出工具會保護它,讓儲存格顯示_x0041_而不是字母A。
XLSX格式保留的寫法
在XLSX檔案中,文字可以包含由_x加四個十六進位數字和底線組成的代碼,例如_x0041_。試算表讀取檔案時,會把每個代碼解碼成它代表的字元,所以_x0041_會變成大寫字母A,_x000D_會變成歸位字元。這對軟體很有用,但當真實的值剛好長得像代碼時,例如系統識別碼、資料庫的欄位名稱或日誌標記,就會出問題。
保留文字的XLSX匯出工具在寫入前,會保護每一個這樣的寫法。它會在前面加上底線的跳脫,告訴試算表照字面顯示後面的字元。這和為XML跳脫&符號與角括號是不同的步驟。
只有完全符合的形式才受影響:底線、x、四個十六進位字元,再加上結尾的底線。像_x41_,或沒有結尾底線的_x0041,在檔案和試算表中都只是一般文字。
_x0041_範例
本頁範例只有一欄,名為code,值為_x0041_。活頁簿中預期的儲存格文字是_x0041_,以明確的文字寫入,所以試算表在那裡看不到公式,也看不到數字。開啟tablora-table.xlsx時,儲存格顯示的是你輸入的七個字元,而不是字母A。
檢查像跳脫代碼的值
- 在原始資料中搜尋底線加x、再接四個0到9或A到F的字元、最後以另一個底線結尾的字串。十六進位數字不論大寫或小寫,都會被當成代碼。
- 確認這個值是要照字面使用的。如果原始資料本身含有編碼過的文字,請在產生它的系統中解碼,而不是在這裡。
- 貼上表格,按下「計算」並查看預覽。
- 使用「下載 (XLSX)」,把試算表中的儲存格和原始資料比較。
- 儲存格內的歸位字元也以同樣方式保護,所以同樣會完整保留。
其他匯出中的跳脫代碼
- 瀏覽器工具的CSV下載會把_x0041_寫成一般字元,因為CSV沒有這種編碼;套用它的是試算表讀取XLSX的過程。
- Tablora應用程式的XLSX匯出會跳脫&符號和括號,但不會加上這層保護,所以從含有_x0041_的頁面讀取的儲存格,可能會以解碼後的樣子顯示。對這樣的值,請從應用程式匯出CSV,或把儲存格貼到這裡的保留文字XLSX匯出工具,再下載XLSX。
- 一般表格中很少出現這種寫法。如果發現了,它通常來自技術系統,多花一步保留原始檔案以便比較是值得的。
輸入值
- 表格文字
- code _x0041_
- 欄位分隔符號
- ,
結果
- 列數
- 2
- 欄數
- 1
| code |
|---|
| _x0041_ |
- 檔案大小(位元組)
- 2302
試算表的所有儲存格均以文字儲存,以保留識別碼和類似公式的內容。