一、问题引入
需求:假如我需要把下面三个TextBox的内容存到CSV表格中
代码:
Dim WriteText As String = TextBox2.Text & "," & TextBox3.Text & "," & TextBox4.Text
File.WriteAllText("c:/123.csv", WriteText, Encoding.GetEncoding("gb2312"))
结果发现我本来是3列的,由于第三个TextBox中也有一个逗号,所以在CSV文件中认为它是分割符,帮我分裂成一列了:
二、解决思路
找出在csv表格中,如何存储带逗号的。
-
手动用键盘在csv文件中输入带逗号的内容如下:
-
保存改csv文件,并且用txt打开。如下图,发现有逗号的格子,它是用双引号括起来的。这样括起来后它就认为你们的逗号不是分割符。
三、解决办法
由上面可知csv是如何存储一个带逗号的内容数据的,那么程序里需要保存一个带逗号的内容,需要在用双引号把该内容括起来。
Dim WriteText As String = TextBox2.Text & "," & TextBox3.Text & "," & """" & TextBox4.Text & """"
File.WriteAllText("c:/123.csv", WriteText, Encoding.GetEncoding("gb2312"))
Encoding.GetEncoding(“gb2312”))