我有多个.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. 防止vim在打开文件时更改目录
- 4. 如何在打开csv文件时强制excel不放行?
- 5. 防止打开文件
- 6. 在excel中打开CSV文件更改我的格式
- 7. Excel和IE7 - 防止IE打开Excel文件
- 8. 如何在检测到表单值已更改时防止发生事件?
- 9. 如何防止事件发生?
- 10. 如何防止选择的HTML更改时触发JQuery更改事件?
- 11. 如何防止ListView选项发生更改?
- 12. 如何防止任何人在git中修改跟踪文件?
- 13. 第二个Excel文件打开时工作表更改事件停止工作
- 14. 在文档上发生ESC keydown事件时,如何在打开模式时防止窗口关闭?
- 15. 当SelectList更新为新值时,jQuery防止发生更改
- 16. 如何防止webpack生成.map文件
- 17. Excel中:打开一个.csv文件
- 18. C#/ WPF:当剪贴板发生任何更改时触发的任何事件?
- 19. Excel对象SaveAs,当现有文件打开时发生错误
- 20. 我如何打开CSV文件,用java
- 21. 如何在Android中打开csv文件
- 22. 如何防止打开文件使用MySQL连接器
- 23. 如何防止打开MS Access数据库文件?
- 24. 如何防止Internet Explorer打开拖动的文件?
- 25. 如何防止其他用户下载/打开其他文件?
- 26. 如何防止javascript一次打开太多文件?
- 27. 打开文档时防止打开文字
- 28. 如何防止窗体多次打开
- 29. 如何防止在Linux中重复更改文本文件?
- 30. 防止在网站上打开文件
你知道为什么Excel正在破坏你的数据?在值本身中是否有分隔符(例如逗号)的实例不应被视为分隔符?或者Excel是否将数据分割为固定宽度? CSV是纯文本文件,因此理论上可以根据需要使用自定义VBA代码处理任务。 – chillin
将演示问题的示例测试文件上传到某个公共文件共享站点。很有可能你可以用'IMPORT'而不是'OPEN'来做你想做的事情。 –