將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 工作排程(task scheduler),讓其自動執行

---by linct-----

留言
avatar-img
留言分享你的想法!
avatar-img
linct的沙龍
64會員
187內容數
樂趣體驗紀錄,沙龍房間有歌唱,生活,科技
linct的沙龍的其他內容
2025/03/31
比爾·蓋茲於1999年出版的《數位神經系統》一書,至今仍具有參考價值。本文探討該書的核心概念,如何在當今的科技環境下應用數位神經系統,並提出一些需要調整的部分。
Thumbnail
2025/03/31
比爾·蓋茲於1999年出版的《數位神經系統》一書,至今仍具有參考價值。本文探討該書的核心概念,如何在當今的科技環境下應用數位神經系統,並提出一些需要調整的部分。
Thumbnail
2025/01/26
此程式利用批次檔(bat)結合vbscript,自動篩選Windows事件紀錄,並產生Excel報表,方便管理人員統計與分析系統事件。
Thumbnail
2025/01/26
此程式利用批次檔(bat)結合vbscript,自動篩選Windows事件紀錄,並產生Excel報表,方便管理人員統計與分析系統事件。
Thumbnail
2024/12/24
Windows事件紀錄檔是電腦系統管理中一個重要的工具。透過定期檢視事件紀錄檔,使用者可以及早發現系統異常、追蹤問題根源,並掌握系統安全性狀況。本文介紹了事件紀錄的分類、各類事件篩選項目,及如何自訂檢視和自動執行篩檢作業,幫助使用者提高檢查效率,強化系統安全性,從而減少潛在的運作風險。
Thumbnail
2024/12/24
Windows事件紀錄檔是電腦系統管理中一個重要的工具。透過定期檢視事件紀錄檔,使用者可以及早發現系統異常、追蹤問題根源,並掌握系統安全性狀況。本文介紹了事件紀錄的分類、各類事件篩選項目,及如何自訂檢視和自動執行篩檢作業,幫助使用者提高檢查效率,強化系統安全性,從而減少潛在的運作風險。
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
此程式 可將 CSV 檔案資料轉換並更新至 Excel 檔案,減少檔案大小並方便傳輸。程式可自訂 CSV、Excel 檔案路徑及更新範圍,多種儲存格式與應用場景,如讀取 TXT 檔案、保留 Excel 巨集公式及設定排程自動執行等。
Thumbnail
此程式 可將 CSV 檔案資料轉換並更新至 Excel 檔案,減少檔案大小並方便傳輸。程式可自訂 CSV、Excel 檔案路徑及更新範圍,多種儲存格式與應用場景,如讀取 TXT 檔案、保留 Excel 巨集公式及設定排程自動執行等。
Thumbnail
CSV 檔案是一種簡單的文本檔案格式,常用於存儲表格數據並在不同軟體之間共享。本文將介紹 CSV 檔案的特點與常見用途,並詳細說明如何將 Excel 檔案轉換為 CSV 格式的步驟。CSV 檔案不僅操作簡便,同時也方便資料匯入與匯出,是數據管理的重要工具。
Thumbnail
CSV 檔案是一種簡單的文本檔案格式,常用於存儲表格數據並在不同軟體之間共享。本文將介紹 CSV 檔案的特點與常見用途,並詳細說明如何將 Excel 檔案轉換為 CSV 格式的步驟。CSV 檔案不僅操作簡便,同時也方便資料匯入與匯出,是數據管理的重要工具。
Thumbnail
本法省去開啟EXCEL檔,轉存為CSV檔之手動作業,縮短作業時間,提高工作效率,尤其是對象為複數個檔案場合
Thumbnail
本法省去開啟EXCEL檔,轉存為CSV檔之手動作業,縮短作業時間,提高工作效率,尤其是對象為複數個檔案場合
Thumbnail
這篇文章介紹如何使用VBA程式碼將【包含備註】的Excel檔案轉換為PDF檔。在研究這個問題時,作者花了3個小時多的時間,但後來發現了一個更簡單的方法,這讓作者感到震驚和懷疑人生。最後,作者強調使用他人的智慧來提高自己的能力。文章提供了相關參考文獻和圖片。
Thumbnail
這篇文章介紹如何使用VBA程式碼將【包含備註】的Excel檔案轉換為PDF檔。在研究這個問題時,作者花了3個小時多的時間,但後來發現了一個更簡單的方法,這讓作者感到震驚和懷疑人生。最後,作者強調使用他人的智慧來提高自己的能力。文章提供了相關參考文獻和圖片。
Thumbnail
本文介紹了將獨立的Excel檔案轉換為PDF檔的方法,並提供了相關連結和資源,包括Excel教學、VBA自動轉存檔案等。文章中還包含了南宋詞人辛棄疾詞和張忠謀的引言,讓讀者在解決問題的同時得到一些靈感和鼓勵。
Thumbnail
本文介紹了將獨立的Excel檔案轉換為PDF檔的方法,並提供了相關連結和資源,包括Excel教學、VBA自動轉存檔案等。文章中還包含了南宋詞人辛棄疾詞和張忠謀的引言,讓讀者在解決問題的同時得到一些靈感和鼓勵。
Thumbnail
本文介紹了如何使用 Excel VBA 來解決 CSV 檔案原始資料( 左補零 ) 被截斷的問題。
Thumbnail
本文介紹了如何使用 Excel VBA 來解決 CSV 檔案原始資料( 左補零 ) 被截斷的問題。
Thumbnail
無論是企業、小商家或是個人,都可能會用到 Excel 來處理資料。在使用 Excel 時,我們常常需要將多行數據快速轉換為其他格式,例如,將多行數據合併為一行、將多行數據拆分為多列,或將多行數據轉換為其他類型資料。 傳統上,我們可以使用複製、貼上、合併儲存格等方法來完成這些操作。但是,這些方法不僅
Thumbnail
無論是企業、小商家或是個人,都可能會用到 Excel 來處理資料。在使用 Excel 時,我們常常需要將多行數據快速轉換為其他格式,例如,將多行數據合併為一行、將多行數據拆分為多列,或將多行數據轉換為其他類型資料。 傳統上,我們可以使用複製、貼上、合併儲存格等方法來完成這些操作。但是,這些方法不僅
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News