Google 試算表貼上文章內容,遇到「您輸入的內容已超過每個儲存格 50000 字元的上限。」錯誤訊息。解決方式透過 MySQL 查詢語法,將資料欄位內容縮短到 50000 字元內。
Photo by Tevarak on StockSnap |
錯誤狀況
產生 Google 試算表檔案前,有兩個步驟:
- 將資料庫 SQL 查詢結果,匯出成 Excel 報表檔案、
- 上傳 Excel 報表檔案,到 Google 雲端硬碟空間,自動轉換成 Google 試算表。
步驟 1:遇到「Support 32767 characters in a cell only」錯誤
步驟 2:忽視「Support 32767 characters in a cell only」錯誤,直接轉換成 Google 試算表後,發現有些儲存格是空白的。手動貼上內容到 Google 試算表的儲存格,則會遇到「發生問題:您輸入的內容已超過每個儲存格 50000 字元的上限。」錯誤。
問題原因
步驟 1 因為遇到 Microsoft Excel 的儲存格內容長度的限制,造成發生「Support 32767 characters in a cell only」問題。微軟文件提到:
一個儲存格可以包含的字元總數 32,767 個字元
步驟 2 因為遇到 Google 試算表的儲存格內容長度的限制,導致「您輸入的內容已超過每個儲存格 50000 字元的上限。」問題。Google 文件提到:
當你將 Excel 文件轉換成 Google 試算表檔案時,只要儲存格中的半形字元數超過 50,000 個,Google 試算表就會移除該儲存格。
什麼是「字元」(characters)?
維基百科上字元的解釋:
簡單來講就是一個漢字、假名、韓文字……,或是一個英文、其他西方語言的字母。
一個英文字「a」 、漢字「蘋」、標點符號「,」、空格「 」都會佔用一個字元。
如何計算字元數?
文字編輯軟體例如 Notepad++、Microsoft Word 等軟體,都有提供計算字元數的功能。
(1) 以 Notepad++ 為例,選取要計算字元數的文章段落,視窗下方就會顯示選取段落的總共字元數。例如下圖「Sel:50,000」
(2) 以 Microsoft Word 為例,先選取要計算字元數的文章段落(如果不選取,代表計算整篇文章的字數),再點選選單「工具」的「字數統計」
解決問題
方法1:如果會交叉使用 Google 試算表與 Excel 檔案,代表儲存格字元上限要調整到 32,767 個字元
- 資料庫 SQL 查詢加上 32,767 個字元限制,再將 SQL 查詢結果,匯出成 Excel 報表檔案、
- 上傳 Excel 報表檔案,到 Google 雲端硬碟空間,自動轉換成 Google 試算表。
資料庫 SQL 查詢語法範例
SELECT
SUBSTRING(`my_content_column`, 1, 32767)
FROM `my_table`
方法2:如果主要使用 Google 試算表,而不考慮使用 Excel 檔案,儲存格字元上限可以調整到 50,000 個字元
- 資料庫 SQL 查詢加上 50,000 個字元限制,再將 SQL 查詢結果,匯出成 CSV 檔案、
- 上傳 CSV 報表檔案,到 Google 雲端硬碟空間,自動轉換成 Google 試算表。
SELECT
SUBSTRING(`my_content_column`, 1, 50000)
FROM `my_table`
上方兩種方法都使用 SUBSTR 函數,將內容欄位值依照指定的字元數限制截斷。就可以通過 Google 試算表或 Excel 檔案的儲存格字元上限。缺點是如果最後一個是英文單字,可能中間會被截斷在奇怪的地方。
留言
張貼留言