將CSV檔案更新至Excel檔案

更新於 發佈於 閱讀時間約 8 分鐘

1.目的:

(1) csv檔案太大,轉換為EXCEL 後,可削減檔案大小,方便以附檔寄出給各負責人或轉傳其他系統應用

(2) 轉成excel後,因EXCEL應用程式提供許多函式等功能可利用,使用者可依據需求處理各項加工作業

2.程式功能

(1)利用引數帶入對象檔案及欲更新之範圍,讓程式能彈性廣泛應用

(2)當csv 檔內資料異動時,自動更新至excel檔內,即將csv 檔案內之資料,移至excel檔內

3.本程式處理概要:

(1) 取得3個引數( arguments) ,

即 ① csv file路徑,②excel File路徑,③欲移動的range範圍

(2) 開啟上述引數帶入的 2 個input files,即csv與 xlsx兩檔

(3) Excel 檔內指定range 之內容先清除

(4) 將csv某range內的值移至excel 內同一range內

即將excel 內該range之內容作更新,其他範圍內保留不會變更。

(5) excel更新後,REWRITE儲存檔案


[ 備註 ]

<1>csv to xlsx 可以兩種方法:

<1.1> csv 讀取後,全部內容存入xlsx

<1.2> csv 讀取後,只有指定range之內容更新至xlsx


<2>excel 出力時可以有兩種方法:

rewrite (可保留舊xlsx 內容) 或 new add write

<3>excel副檔名可以儲存兩種格式:

save file format ---51: xlsx

52: xlsm

<4>本程式設計考慮點:

① 利用引數指定csv, excel 路徑及欲更新range範圍,範圍可任意決定

② 指定range範圍,更新後再存入excel,以rewrite 出力(保留部分舊資料與函式)

③ excel副檔名,儲存為xlsx


4. 本程式編寫 : (程式名稱 csv2excel2.vbs)

'----- input csv file save to excel , notes range A:G 	
'----- output xlsx file can be either rewrite or new-add write ---
if WScript.Arguments.Count < 2 Then
WScript.Echo"Please specify the input csv and the output xlsx file"
Wscript.Quit
End If

Set objFSO = CreateObject("Scripting.FileSystemObject")
'csvP csv file 路徑
csvP = objFSO.GetAbsolutePathName(Wscript.Arguments.Item(0))
'xlsxP output excel file 路徑
xlsxP = objFSO.GetAbsolutePathName(WScript.Arguments.Item(1))

set arg = WScript.arguments
'即 WScript csv2excel2.vbs %csvP% %xlsxP% G 三個引數

'csv_format = 6
xlsx_format = 51

Dim xlapp ' as excel object
Dim x, y ' as workbook
Set xlapp = CreateObject("Excel.Application")
'xlapp.displayalerts=false
' x open 開啟csv工作表
Set x = xlapp.Workbooks.Open(csvP)

' y open 開啟excel工作表
Set y = xlapp.Workbooks.Open(xlsxP)
'set y=xlapp.Workbooks.Add ' y new add

' get range from "A:arg(2)"A:G
rangB = "A:"&arg(2)

'y sheets(1) 某range內容,更新前先作清除clear
y.Sheets(1).Range(rangB).ClearContents

'y.Sheets(1).Range("A:G") = x.Sheets(1).Range("A:G").Value 'only get range A:G
' get range from rangB, 即 x 內資料移至y
y.Sheets(1).Range(rangB) = x.Sheets(1).Range(rangB).Value

' y rewrite; y file need exist already
y.Save
'y.SaveAs xlsxP ' y new add write
' msgbox " --- csv2xlsx2.vbs finish ! "
y.close
x.Close
xlapp.Quit
Wscript.Quit

5. 本程式實際執行

5.1 cmd 內輸入如下:

WScript csv2excel2.vbs EventLevelView.csv EventLevel_select_output.xlsx G

raw-image


5.2本程式所帶入的三個引數如下

①csvPath= EventLevelView.csv

②xlsxPath= EventLevel_select_output.xlsx

③range 範圍= G ,表示指定範圍為range (A:G)

入力csv內容 範圍為(A:O)

入力csv內容 範圍為(A:O)

5.3 程式執行後,excel 檔案內容被更新,如下圖

excel內只有指定範圍 (A:G) 被REWRITE更新,其餘內容不會更新

excel內只有指定範圍 (A:G) 被REWRITE更新,其餘內容不會更新

  1. 擴充應用

6.1 除了讀取csv檔,亦可改為讀取txt檔之資料,來更新 excel

6.2 若excel 內含有巨集公式,副檔名改存為xlsm

6.3 excel更新後,亦可改為另存新檔

6.4 作成bat執行檔,排入Windows 工作排程(taskscheduler),讓其自動執行

---by linct-----

avatar-img
61會員
154內容數
樂趣體驗紀錄,沙龍房間有歌唱,生活,科技
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
linct的沙龍 的其他內容
Windows事件紀錄檔是電腦系統管理中一個重要的工具。透過定期檢視事件紀錄檔,使用者可以及早發現系統異常、追蹤問題根源,並掌握系統安全性狀況。本文介紹了事件紀錄的分類、各類事件篩選項目,及如何自訂檢視和自動執行篩檢作業,幫助使用者提高檢查效率,強化系統安全性,從而減少潛在的運作風險。
上回介紹免費程式FullEventLogView.exe,可以對事件檢視器的紀錄檔作維護,今回說明另一個公用工具程式 wevtuti,亦可對各個事件紀錄檔查詢,維護,這是Windows的內部指令程式,不必再下載,可以直接輸入執行
Windows Event Log 是調查中重要的東西,透過 LOG 才能看到駭客的軌跡,了解駭客一些行為的蛛絲馬跡。或電腦系統異常現象之LOG,亦可提前掌握,避免系統嚴重錯誤事件發生。 FullEventLogView,是一款專門用於查看Windows系統事件記錄的免費工具軟體
Windows事件紀錄檔是電腦系統管理中一個重要的工具。透過定期檢視事件紀錄檔,使用者可以及早發現系統異常、追蹤問題根源,並掌握系統安全性狀況。本文介紹了事件紀錄的分類、各類事件篩選項目,及如何自訂檢視和自動執行篩檢作業,幫助使用者提高檢查效率,強化系統安全性,從而減少潛在的運作風險。
上回介紹免費程式FullEventLogView.exe,可以對事件檢視器的紀錄檔作維護,今回說明另一個公用工具程式 wevtuti,亦可對各個事件紀錄檔查詢,維護,這是Windows的內部指令程式,不必再下載,可以直接輸入執行
Windows Event Log 是調查中重要的東西,透過 LOG 才能看到駭客的軌跡,了解駭客一些行為的蛛絲馬跡。或電腦系統異常現象之LOG,亦可提前掌握,避免系統嚴重錯誤事件發生。 FullEventLogView,是一款專門用於查看Windows系統事件記錄的免費工具軟體
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
微軟的EXCEL又出了一個新函數了【TRANSLATE】,TRANSLATE這個單字翻譯成中文就是翻譯的意思,他的功能就是"翻譯"。 有了這個函數就可以直接在原有資料進行翻譯,不用再把資料丟到Google翻譯或是GPT了。 🔎函數說明 TRANSLATE(要翻譯的內容,原始語言,翻
Thumbnail
本法省去開啟EXCEL檔,轉存為CSV檔之手動作業,縮短作業時間,提高工作效率,尤其是對象為複數個檔案場合
Thumbnail
這篇文章介紹如何使用VBA程式碼將【包含備註】的Excel檔案轉換為PDF檔。在研究這個問題時,作者花了3個小時多的時間,但後來發現了一個更簡單的方法,這讓作者感到震驚和懷疑人生。最後,作者強調使用他人的智慧來提高自己的能力。文章提供了相關參考文獻和圖片。
Thumbnail
本文介紹瞭如何將Excel圖表轉成圖片,並解決了圖表資料量大時可能出現的錯誤訊息。此外,還分享了ChatGPT 4o (訂閱付費版) 的幫助與成功轉換圖片的經驗。 還有周杰倫關於一技之長的觀點分享,激勵讀者找到自己的優勢和興趣。並提供了相關參考文獻,讓讀者進一步深入瞭解主題。
Thumbnail
本文介紹了將獨立的Excel檔案轉換為PDF檔的方法,並提供了相關連結和資源,包括Excel教學、VBA自動轉存檔案等。文章中還包含了南宋詞人辛棄疾詞和張忠謀的引言,讓讀者在解決問題的同時得到一些靈感和鼓勵。
Thumbnail
設計完一覽表之後,如果會寫程式的人可以每天用這種方法去抓資料放到Excel. 那不會寫程式的人呢? 這裡教你一個稍微要花點時間的輸出Excel的方法。 在上禮拜完成的自選裡。   一、  你先依下圖,在“功能”中找到”輸出到Excel”,按下報價精靈 二、  選擇全部加入,按下全部加
這段程式碼假設您的XYZ資料存儲在名為"Sheet1"的工作表中的A1:Cn範圍內,其中n是資料行的數量。它將資料提取出來,然後在新建的工作表中按照網格的形式重新排列。
Thumbnail
在職場上,我們經常需要使用 Excel 表格來處理資料,而自動格式設定可以幫助我們快速將資料整理成一致的格式,讓資料看起來更清晰、更有效率。用 Excel 的快捷鍵自動出現自動格式設定技巧,可以讓我們在更短的時間內套用自動格式,讓工作更輕鬆。
Thumbnail
如何用Python匯入大批Excel檔案? os.listdir建立資料夾內[檔案名稱.副檔名]之列表 利用迴圈將所有檔案匯入Python 用pandas.concat合併所有DataFrame
Thumbnail
本文介紹了如何使用 Excel VBA 來解決 CSV 檔案原始資料( 左補零 ) 被截斷的問題。
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
微軟的EXCEL又出了一個新函數了【TRANSLATE】,TRANSLATE這個單字翻譯成中文就是翻譯的意思,他的功能就是"翻譯"。 有了這個函數就可以直接在原有資料進行翻譯,不用再把資料丟到Google翻譯或是GPT了。 🔎函數說明 TRANSLATE(要翻譯的內容,原始語言,翻
Thumbnail
本法省去開啟EXCEL檔,轉存為CSV檔之手動作業,縮短作業時間,提高工作效率,尤其是對象為複數個檔案場合
Thumbnail
這篇文章介紹如何使用VBA程式碼將【包含備註】的Excel檔案轉換為PDF檔。在研究這個問題時,作者花了3個小時多的時間,但後來發現了一個更簡單的方法,這讓作者感到震驚和懷疑人生。最後,作者強調使用他人的智慧來提高自己的能力。文章提供了相關參考文獻和圖片。
Thumbnail
本文介紹瞭如何將Excel圖表轉成圖片,並解決了圖表資料量大時可能出現的錯誤訊息。此外,還分享了ChatGPT 4o (訂閱付費版) 的幫助與成功轉換圖片的經驗。 還有周杰倫關於一技之長的觀點分享,激勵讀者找到自己的優勢和興趣。並提供了相關參考文獻,讓讀者進一步深入瞭解主題。
Thumbnail
本文介紹了將獨立的Excel檔案轉換為PDF檔的方法,並提供了相關連結和資源,包括Excel教學、VBA自動轉存檔案等。文章中還包含了南宋詞人辛棄疾詞和張忠謀的引言,讓讀者在解決問題的同時得到一些靈感和鼓勵。
Thumbnail
設計完一覽表之後,如果會寫程式的人可以每天用這種方法去抓資料放到Excel. 那不會寫程式的人呢? 這裡教你一個稍微要花點時間的輸出Excel的方法。 在上禮拜完成的自選裡。   一、  你先依下圖,在“功能”中找到”輸出到Excel”,按下報價精靈 二、  選擇全部加入,按下全部加
這段程式碼假設您的XYZ資料存儲在名為"Sheet1"的工作表中的A1:Cn範圍內,其中n是資料行的數量。它將資料提取出來,然後在新建的工作表中按照網格的形式重新排列。
Thumbnail
在職場上,我們經常需要使用 Excel 表格來處理資料,而自動格式設定可以幫助我們快速將資料整理成一致的格式,讓資料看起來更清晰、更有效率。用 Excel 的快捷鍵自動出現自動格式設定技巧,可以讓我們在更短的時間內套用自動格式,讓工作更輕鬆。
Thumbnail
如何用Python匯入大批Excel檔案? os.listdir建立資料夾內[檔案名稱.副檔名]之列表 利用迴圈將所有檔案匯入Python 用pandas.concat合併所有DataFrame
Thumbnail
本文介紹了如何使用 Excel VBA 來解決 CSV 檔案原始資料( 左補零 ) 被截斷的問題。