为什么将制表符附加到 csv 中的字符串会在尾部给我一个额外的 space
why append tab to String in csv will give me an extra space in the tail
我想将一些数据写入 CSV 文件。
我将 \t 附加到所有字符串以保留所有前导零。
但它会在 excel 中每一列的尾部附加一个 space。为什么?
有什么方法可以摆脱那个 space?
(我尝试使用单引号而不是制表符,但它会在 excel 中显示我不想要的引号)
如果您的 CSV 文件具有固定布局,那么最简单的方法可能是创建一个宏来自动执行文本导入向导。
这样做,您将不需要添加任何额外的字符来限定 csv 文件中的文本值。
Sub Macro1()
Workbooks.OpenText Filename:="C:\Users\Example\test.csv", Origin _
:=65001, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), _
Array(2, 2), Array(3, 2)), TrailingMinusNumbers:=True
End Sub
上面的代码加载了一个 3 列的 csv 文件,并将每一列设置为 Text
而不是 General
。
如果您可以控制 CSV 文件的生成,您可能希望用引号(单引号或双引号)中的前导零封装您的值,并在录制宏时在向导中指定。
我想将一些数据写入 CSV 文件。
我将 \t 附加到所有字符串以保留所有前导零。
但它会在 excel 中每一列的尾部附加一个 space。为什么?
有什么方法可以摆脱那个 space?
(我尝试使用单引号而不是制表符,但它会在 excel 中显示我不想要的引号)
如果您的 CSV 文件具有固定布局,那么最简单的方法可能是创建一个宏来自动执行文本导入向导。
这样做,您将不需要添加任何额外的字符来限定 csv 文件中的文本值。
Sub Macro1()
Workbooks.OpenText Filename:="C:\Users\Example\test.csv", Origin _
:=65001, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), _
Array(2, 2), Array(3, 2)), TrailingMinusNumbers:=True
End Sub
上面的代码加载了一个 3 列的 csv 文件,并将每一列设置为 Text
而不是 General
。
如果您可以控制 CSV 文件的生成,您可能希望用引号(单引号或双引号)中的前导零封装您的值,并在录制宏时在向导中指定。