Excel到CSV到TXT单元格(带双引号)

wnavrhmk  于 2023-02-01  发布在  其他
关注(0)|答案(2)|浏览(902)

我有一个Excel电子表格,其中每个单元格都有值,我希望将其转换为逗号分隔的文本文件。目前,我有一个vbs脚本,将Excel文件转换为csv,然后在批处理脚本中,我将*.csv重命名为*.txt。这对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,当在写字板/文本板/Word中打开时,它仍然显示为"""Hello"""。因此,问题不是与我的vbs转换脚本有关。我还尝试创建一个excel电子表格,并简单地将其重命名为Book1.txt,也出现了同样的问题。似乎每当单元格转换为*.txt时,出于某种原因都会添加额外的引号。
我看过this article,但在文件转换过程中添加额外的双引号似乎很奇怪。

我的vbs脚本

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
ni65a41a

ni65a41a1#

在.csv文件中,只有在单元格中提供了,.(特殊字符),在将此文件转换为.txt格式时,才会在.txt文件中自动添加""双引号。
为避免.txt文件中出现多个双引号条目,请在转换前不要在.csv文件中包含任何引号。

juud5qan

juud5qan2#

解决方法看起来很简单。一旦你转换了文件,查找双引号,然后用单引号替换。所以...

FIND: ""
REPLACE: "

相关问题