一鍵 Excel 轉 .csv (含自動修復) (Ver20160305)
專案簡介
最新版本下載 (Latest released version)
- Excel_to_csv Delta(2016.05.17)
- 安裝說明書(Google drive) (目前僅針對windows OS, MS office 2010+)
- mac OS、其他office 目前還沒摸透,跪求白老鼠測試
- 測試範例檔案 (測試用範例一) (測試用範例二) (測試用範例三)
- 另外根據Ronny的Excel轉換工具寫了合併工作表的VBA
- google drive連結 (檔案下載點我)
- 安裝方法相同
- 適用於 每個工作表都有類似的資料需要合併
- 例如不同的工作表 為 不同的縣市
- 都有一樣的資料類型 (首列)
- 依照Ronny的建議加上「首欄=工作表名稱」 的選項
- 可以選擇轉換完是否自動另存成csv
- 測試範例檔案 (測試用範例一) (測試用範例二)
緣由
看到Peggy的公務員開放資料Lesson 1 ,想說有沒有辦法直接開發程式供公務人員使用,減少轉檔後的資料格式問題
要解決的問題
- 減少Excel檔案轉成.csv的步驟,以節省時間及降低人為犯錯機率
- 自動修正Excel中轉成.csv時造成錯誤的潛在因子,確保轉出的.csv可供後續正確使用
- 不要破壞原本「方便人閱讀的格式」,降低使用者抗拒因素
預定使用者
不習慣將Excel編輯成符合資料庫格式,但又想將其轉成csv成為開放資料的人
預定功能
- 功能
- 修正合併儲存格(跨至欄中)的問題
- 搜尋資料表中的合併儲存格
- 解除合併並將資料整合
- ↓↓↓↓↓↓↓變成↓↓↓↓↓↓
- 去除可能會造成錯誤之符號 (如 數字間的逗號 1,230,000 )
- 方法一:強制消去全部的, (但要考慮會不會有其他文字屬性欄位也含有半形逗號)
- 方法二:將全部欄位改成無千位數逗號之數字 (但要小心破壞其他儲存格之內容)
- 儲存
- 另存成.csv檔案
- 檔案名稱為 原本檔案名稱 + 工作表名稱 + ".csv"
- 編碼格式自動選為 UTF8
- 其他功能 (待補充)
- 介面
- 掛在EXCEL介面中之巨集按鈕
- 優點:
- 缺點:
- 安裝問題(如何讓使用者順利把巨集載到Excel中,並形成按鈕)
- 版本更新問題
- 安全性檢查(巨集是否會被系統阻擋)
- 額外執行程式
- 優點:
- 執行檔容易傳播使用
- 可以透過GUI設計讓使用起來方便
- 缺點:
- 操作步驟可能較麻煩(要先選擇目標檔案,在執行)
- 程式碼相容性問題
- Ronny Wang的網頁版本 (連結)
- 優點:
現有類似專案
Ronny大大好像之前有做出 潛在錯誤檢查程式
相關專案
???
授權方式
cc by
使用資料
無
相關資訊
Archain昨天有在問,公務員目前的電腦office是哪個版本,我剛先問了一下我們(衛福部)資訊處部內的狀況:
- 目前全面是2010的版本。
- 行政院有指示,2010以前的版本因為不再更新,資安上有疑慮,所以不得使用。
- 至於什麼時候會換2013,目前還不知道,應該是看微軟何時停止更新2010。
以上資訊提供。
路過補充地方政府情形:
根據2015年收資料的經驗,若散發office2010格式檔案給各縣市政府(的下屬局處單位),大約有1/10的回收資料會用office 97-2003的格式回來。
專案目前狀態
- Delta版本完成,釋出日期為2016.05.17。 Google drive連結
- 執行前自動備份
- 修正部份bug
- 註解增加
- 目前尚未解決之問題
- 有些Case在「項目」會分別有中文和英文兩個row,目前沒辦法自動合併
- 有些Case在奇怪的地方(如最下面)會有合併儲存格,無法正常消除
- VBA巨集C-Gamma版完成,為2016.03.05 g0v黑客松後釋出版本Google drive連結
- 【不重要資訊:之所以Gamma前有個C字,是為了排序】
- VBA巨集beta版(dropbox連結)完成,暫定工作環境為office2010。 (2016.03.01)
- 新增google雲端硬碟下載連結。
- 請下載後使用,點選第一頁的Run。若要再次測試,請關閉檔案重新開啟。
- 將巨集指令加到Excel工具列中便可對其他文件使用,但目前還沒有極簡單且簡便的版本。
- 人工設定可以先參考Johnson Liang之前錄製的方法,不過每次使用都會冒出一個額外的excel視窗。
- 安裝說明書
- 尚在研究更簡單、自動設定,且不會產生額外視窗的方法。
- 基本上將巨集寫進Personal.xlsb中,就不會有額外視窗
- beta版新增可以處理的部份 (alpha版功能繼承)
- 自動判別資料範圍
- 儲存時不再留下原始資料的副檔名
- 修正儲存路徑為原始檔案的同資料夾內
- 自動去除多餘的空白列、註解列
- beta版尚未處理的問題
- 尚未完全驗證
- 一次處理同一檔案中的所有分頁 (code已完成,尚未實裝)
- 當已有同名檔案時,要怎麼處理
- 存完後是否自動關閉檔案(執行中的為.csv)
- 讓使用者可以很簡單地把巨集置放於工具列
- VBA巨集alpha版完成,測試中 (2015)
- 請下載後使用,點選第一頁的Run。若要再次測試,請關閉檔案重新開啟。
- 目前可處理部份
- 一鍵完成(不過還沒做好巨集指令移轉,所以只能在範例檔中使用)
- 解決「簡單的合併儲存格」問題
- 消除數字中的半形逗號
- 自動以「同樣的檔名」、「 UTF8編碼格式」儲存成.csv
- 目前尚未處理的問題
- 未驗證是否適用於各種合併儲存格之情況
- 未能自動判別資料總行列數,所以目前固定只掃到10x10
- 原始檔案的附檔名會留著 (如XXX.xls.csv)
- 一次處理不同分頁、大量檔案
- 當已有同名檔案時,要怎麼處理
- 存完後是否自動關閉檔案(執行中的為.csv)
- 讓使用者可以很簡單地把巨集置放於工具列
- 目前效果 (使用前 in excel) (表格內容為假想內容)
利益揭露
應該是沒有吧
使用者回饋
整體建議
- 如果沒有全部轉成功,會需要看原本轉之前的資料,但使用VBA轉完不能按復原
- 轉存的csv必須是UTF8 (Q__Q 目前都被要求必須是UTF8編碼)
- 由於會有一些狀況是無法以這個VBA處理的(下面案例會寫),但是執行VBA後它就會直接轉csv;但通常的流程是:1使用VBA處理合併儲存格 → 2繼續在excel中清資料 → 3才需要存csv,目前會在第1步就先轉成csv,所以第3步的時候儲存時有時會記得存csv但反而忘記把原本excel存起來。又或是,如果是多個工作表,按下VBA之後就會自動存成很多csv檔,或再做修改、再儲存時就會有點怕會出問題,最後就會覺得再按一次VBA好了。
[以下是吹毛求疵的建議,大多是一些與合併儲存格無關的問題~~~~]
無法處理:資料集連結
- 最右邊的「平均」,跑完之後「平」被刪掉了,未被併入平均同一格
- 小計、總計欄位無法刪除 (理想狀態下希望刪除)
- 左上角的欄位名稱會維持空白 (正確做法要加上「縣市別」,但應該沒法這麼聰明XD)
無法處理:資料集連結
- 最下面的「平均」其實應該要整行刪除,但是因為原本有合併儲存格,所以反而被拆成四個儲存格都寫平均
無法處理:資料集連結
- 多個sheet,不知道為什麼轉出來的名字會都套用第一個sheet的基隆市
無法處理:資料集連結
徵求協作者
- NeedsTech: 需要技術支援(VBA 或 其他使用者友善介面)
- NeedsPotentialUser: 需要使用者 / 推廣者 給予操作心得,以改善介面或增減功能
- NeedsOpenDataUser: 需要有人以開放資料使用者/網站設計者 之角度給予建議
實作細節(非技術背景可跳填)
協作工具
- github repo:
- hackfoldr 工作資料夾網址:
- google drive 共用資料夾網址:
進度與 to-do
- product planning(recommanded procedure from justin lee / 李易修)
- strategy
- scope
- structure
- wireframe
- visual
- web front-end
- web back-end
- ui / visual design
成果展示(規劃文件、雛形/草稿、原型/初稿、正式發佈/完稿)