我有多個.csv文件,其中包含我在另一個程序上生成的數據。我想要打開這些文件中的每一個,從中複製所有數據並將其全部粘貼到Excel上的現有工作簿中。我的問題是,當我用excel打開csv文件時,它會自動將csv文本分成三列或更多列,以後我無法使用「文本到列」數據工具(或任何其他工具)轉換數據,因此自動轉換從Excel中打破兩個不同數字的一些單一值)。有什麼辦法可以防止excel在我打開csv文件時進行任何更改?如何防止Excel打開CSV文件時發生任何更改
0
A
回答
0
您需要在csv文件中指定它是文本。你把你的號碼中的報價,並與和等號前述,如做到這一點:
="001145",="55666",="02133"
要做到這一點是做最簡單的方式查找,替換,用「=」,替換結束行(你可能需要使用像Notepad ++這樣的高級編輯器)和「\ r \ n =」並手動執行文件的開始和結束。
1
避免從Windows資源管理器中打開CSV直接在Excel中通過雙擊,並考慮在兩個選項:
手冊用戶界面
打開Excel程序本身沒有任何文件。在下打開,瀏覽並選擇csv文件。然後,您將瀏覽導入流程嚮導。一定要選擇1)分隔(不固定) - 逗號類型; 2)標題在第一行; 3)重要說明:將每一列定義爲文本類型。
您可能想檢查引用選項以包含值,因爲逗號可能放在文本字符串中,並可能與分隔逗號分隔符混淆。因此,在自動雙擊時,Excel會爲每個逗號分隔返回多個列。更重要的是,讓生成csv文件的軟件引用附帶的潛在逗號的值。
自動VBA代碼
導入CSV導入Excel與QueryTables但格式化所有細胞文本它保存所有數據類型,特別是通過設置後.NumberFormat到@
:
Function ImportCSV()
Dim qt As QueryTable
csvfile = "C:\Path\To\CSV\File.csv"
' FORMAT ALL CELLS AS TEXT
ActiveSheet.Cells.NumberFormat = "@"
' ADD QUERYTABLE
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & csvfile, _
Destination:=Range("$A$1"))
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.Refresh BackgroundQuery:=False
End With
' REMOVE QUERYTABLE
For Each qt In currwb.Sheets(2).QueryTables
qt.Delete
Next qt
Set qt = Nothing
End Function
相關問題
- 1. 如何防止JSP/JSF文件在部署時發生更改?
- 2. 防止從URL中打開大文件時發生超時
- 3. 如何防止打開文件兩次?
- 4. 如何防止Mdi子窗體大小在更改時打開
- 5. 防止vim在打開文件時更改目錄
- 6. 如何在打開csv文件時強制excel不放行?
- 7. 防止打開文件
- 8. 在excel中打開CSV文件更改我的格式
- 9. Excel和IE7 - 防止IE打開Excel文件
- 10. 如何在檢測到表單值已更改時防止發生事件?
- 11. 如何防止文件加載時發生Java的OutOfMemoryError?
- 12. 如何防止事件發生?
- 13. 如何防止選擇的HTML更改時觸發JQuery更改事件?
- 14. 如何防止ListView選項發生更改?
- 15. 如何防止任何人在git中修改跟蹤文件?
- 16. 如何防止在Android中打開活動時打開鍵盤?
- 17. 第二個Excel文件打開時工作表更改事件停止工作
- 18. 在文檔上發生ESC keydown事件時,如何在打開模式時防止窗口關閉?
- 19. 在使用互操作創建excel文件時防止Excel打開
- 20. BootstrapToggle如何防止更改事件
- 21. PHP CSV文件生成,如何更改csv列寬
- 22. 當SelectList更新爲新值時,jQuery防止發生更改
- 23. Excel - 如何以表格的形式打開多個CSV文件
- 24. 如何使用openoffice打開excel文件並另存爲csv
- 25. 如何防止webpack生成.map文件
- 26. java使用excel打開csv文件
- 27. Excel中:打開一個.csv文件
- 28. C#/ WPF:當剪貼板發生任何更改時觸發的任何事件?
- 29. 如何防止許多asp.net開發iis被打開?
- 30. 如何打開在線csv文件?
你知道爲什麼Excel正在破壞你的數據?在值本身中是否有分隔符(例如逗號)的實例不應被視爲分隔符?或者Excel是否將數據分割爲固定寬度? CSV是純文本文件,因此理論上可以根據需要使用自定義VBA代碼處理任務。 – chillin
將演示問題的示例測試文件上傳到某個公共文件共享站點。很有可能你可以用'IMPORT'而不是'OPEN'來做你想做的事情。 –