我想導出爲CSV,但是我面對的問題是當網格視圖中包含的數據包含逗號時。由於使用了「,」作爲分隔符,這導致了csv中的各種問題。以下是代碼。任何想法如何我可以避免這一點?當數據包含逗號時從Gridview導出爲CSV
try
{
System.IO.StreamWriter csvFileWriter = new StreamWriter(CsvFpath, false);
string columnHeaderText = "";
int countColumn = dataGridViewLogging.ColumnCount - 1;
if (countColumn >= 0)
{
columnHeaderText = dataGridViewLogging.Columns[0].HeaderText;
}
for (int i = 1; i <= countColumn; i++)
{
columnHeaderText = columnHeaderText + ',' + dataGridViewLogging.Columns[i].HeaderText;
}
csvFileWriter.WriteLine(columnHeaderText);
foreach (DataGridViewRow dataRowObject in dataGridViewLogging.Rows)
{
if (!dataRowObject.IsNewRow)
{
string dataFromGrid = "";
dataFromGrid = dataRowObject.Cells[0].Value.ToString();
for (int i = 1; i <= countColumn; i++)
{
dataFromGrid = dataFromGrid + ',' + dataRowObject.Cells[i].Value.ToString();
csvFileWriter.WriteLine(dataFromGrid);
}
}
}
更改分隔符';'和'設置=九月;'首先在CSV文件可以工作。 –
用雙引號將字段換行,該引號可以包含逗號並使用[可用的csv分析器](http://msdn.microsoft.com/zh-cn/library/microsoft.visualbasic.fileio.textfieldparser.aspx)而不是執行此操作手動。 –
你能不能簡單地使用一個不同的不常用的字符作爲分隔符,比如''',要麼將這些有問題的文本包裝進'''''這應該可以被大多數應用程序解析。 –