Excel以CSV为TXT加上双引号细胞

问题描述 投票:0回答:2

我有在每个细胞的我期待转换为逗号分隔的文本文件中的值的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但似乎奇怪的是附加双引号文件转换过程中添加。

我的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
excel batch-file csv
2个回答
0
投票

在只有在细胞中提供,.(特殊字符),而转换该文件以.txt格式的文件的.csv,""双引号将在.txt文件自动添加。

为了避免在.txt文件双引号的多个条目,请不要在转换之前.csv文件的任何引号。


0
投票

解决方法似乎很简单。一旦你转换的文件,做双引号的发现,并用单引号替换。所以...

FIND: ""
REPLACE: "
© www.soinside.com 2019 - 2024. All rights reserved.