我有在每个细胞的我期待转换为逗号分隔的文本文件中的值的Excel电子表格。目前,我有一个Excel文件转换为CSV,然后在批处理脚本,我重命名*.csv
到*.txt
VBS脚本。这非常适用于单元格值的90%,直到我们得到双引号("
)
我的一些细胞包括双引号值,需要在我的txt文件,以显示这种方式。相反,我得到这样的:
Excel Cell A1: "Hello"
.csv Cell A1: "Hello"
.txt Cell A1: """Hello"""
Excel Cell A1: ""Hello""
.csv Cell A1: ""Hello""
.txt Cell A1: """""Hello"""""
Excel Cell A1: """Hello"""
.csv Cell A1: """Hello"""
.txt Cell A1: """""""Hello"""""""
看来,当你重命名CSV到一个txt,它复制所有的双引号,并增加了一个额外的双引号。有人知道为什么是这样吗?或者,如果有一个解决办法?
我试图在Excel中创建新的*.csv
文件,保存价值"Hello"
,并重新命名为*.txt
,它在写字板/ Textpad / Word中打开时,仍然显示为"""Hello"""
。所以,这个问题是不是与我的vbs脚本转换。我也尝试创建一个Excel电子表格,只需重命名它Book1.txt
并出现同样的问题。看来,只要一个细胞转化为*.txt
,额外的引号是因为某些原因加入。
我见过this article但似乎奇怪的是附加双引号文件转换过程中添加。
if WScript.Arguments.Count < 2 Then
WScript.Echo "Error! Please specify the source path and the destination. Usage: XlsToCsv SourcePath.xls(x) Destination.csv"
Wscript.Quit
End If
Dim oExcel
Set oExcel = CreateObject("Excel.Application")
Dim oBook
Set oBook = oExcel.Workbooks.Open(Wscript.Arguments.Item(0))
oBook.SaveAs WScript.Arguments.Item(1), 6
oBook.Close False
oExcel.Quit
WScript.Echo "Done"
相关批处理脚本命令
Rename SubvarList.csv SubvarList.txt
在只有在细胞中提供,
或.
(特殊字符),而转换该文件以.txt格式的文件的.csv,""
双引号将在.txt文件自动添加。
为了避免在.txt文件双引号的多个条目,请不要在转换之前.csv文件的任何引号。
解决方法似乎很简单。一旦你转换的文件,做双引号的发现,并用单引号替换。所以...
FIND: ""
REPLACE: "