【发布时间】:2011-07-19 14:30:48
【问题描述】:
我使用代码导出 csv 文件中的 datagridview 记录:
using (StreamWriter myFile = new StreamWriter(filename, false, Encoding.Default))
{
string sHeaders = "";
for (int j = 0; j < dGV.Columns.Count; j++)
{
if (dGV.Columns[j].Visible)
{
sHeaders = sHeaders.ToString() + dGV.Columns[j].HeaderText + ", ";
}
}
myFile.WriteLine(sHeaders);
// Export data.
for (int i = 0; i < dGV.RowCount; i++)
{
string stLine = "";
for (int j = 0; j < dGV.Rows[i].Cells.Count; j++)
{
if (dGV.Columns[j].Visible)
{
stLine = stLine.ToString() + dGV.Rows[i].Cells[j].Value.ToString() + ", ";
}
}
myFile.WriteLine(stLine);
}
}
}
但问题是如果datagridviewcell中的值是Harikrishna,Daxini,那么它不会正确导出,因为单元格值中有逗号,但我需要在值中包含逗号。它应该正确导出。我怎样才能做到这一点 ?我尝试用双引号和单引号将该值括起来,但它不起作用。
【问题讨论】:
-
双引号应该有效。逗号分隔和双引号之间有空格吗?
-
@Belinda,像这样 - “Harikrishna,Daxini”?
-
我的意思是你输入你的值,比如
"val1","val2"或"val1", "val2"。这可能会对 CSV 产生影响。 -
@Belinda,我写的像“val1”,“val2”。
-
我的回答的简短版本我认为空格是你的问题。删除它们。
标签: c# export-to-csv