1
如何正确导出我的数据网格为CSV?为什么行在不同的列?从DataGrid CSV导出 - 错行
ExportToCsv函数返回:
列标题:
“SR#; 8D报告请求;状态(ASSIST);在R&d; BTQ数;优先级;目标日期,执行日期,状态( BTQ)“
行:错误!
“1-3271406718;是;是; BTQ00153254; 6 - 增强; 2014年2月22日; 2014年9月9日;完成;工程等。”
如何应该是:
列标题:
“SR#; 8D报告请求;状态(ASSIST);在R&d; BTQ数;优先级;目标日期;实施日期;状态(BTQ)”
行:
“1-3271406718; yes; Eng。等待;是; BTQ00153254; 6 - 增强; 2014年2月22日; 2014年9月9日;已完成”
这里我的代码:
string CsvFpath = saveDLG.FileName;
StreamWriter csvFileWriter = new StreamWriter(CsvFpath, false);
string columnHeaderText = "";
int countColumn = dgvView.Columns.Count - 1;
if (countColumn >= 0)
{
columnHeaderText = (dgvView.Columns[0].Header).ToString();
}
//Writing column headers
for (int i = 1; i <= countColumn; i++)
{
columnHeaderText = columnHeaderText + ';' + (dgvView.Columns[i].Header).ToString();
}
csvFileWriter.WriteLine(columnHeaderText);
// Writing values row by row
for (int i = 0; i <= dgvView.Items.Count - 2; i++)
{
string dataFromGrid = "";
for (int j = 0; j <= dgvView.Columns.Count - 1; j++)
{
if (j == 0)
{
dataFromGrid = ((DataRowView)dgvView.Items[i]).Row.ItemArray[j].ToString();
}
else
{
dataFromGrid = dataFromGrid + ';' + ((DataRowView)dgvView.Items[i]).Row.ItemArray[j].ToString();
}
}
csvFileWriter.WriteLine(dataFromGrid);
}
csvFileWriter.Flush();
csvFileWriter.Close();
请实际上提供您的CSV的例子为文本(即,什么是你的代码生成)拉泽而不是Excel对该文件的解释,并将其与问题相关联,而不是链接到图像。 – JenB
@JenB是这样的吗? – Purger86
是的,好多了。我不是C#程序员,所以实际上不能给你一个答案,但在讨论csv时,你需要坚持文本格式,因为在Excel中打开时会隐藏分隔符(例如;或),并在打开文件时作出其他解释。 – JenB