【发布时间】:2013-06-09 09:41:26
【问题描述】:
我使用StreamWriter 将数据写入 csv 文件。当我使用 Excel 打开 csv 文件时,一切都很好,除了一些单元格有井号而不是写入单元格的数据。然而,随着像元大小的增加,这些数据变得可见。有什么办法可以解决哈希(#)符号的问题,而无需手动增加单元格大小。
int cols;
//open file
//StreamWriter wr = new StreamWriter(@"O:\C_2013_MRO_Software Database\Manpowerdata.csv");
StreamWriter wr = new StreamWriter(@"C:\Manpowerdata.csv");
//determine the number of columns and write columns to file
var dgvStock = dataGridView3;
cols = dgvStock.Columns.Count;
for (int i = 0; i < cols - 1; i++)
{
wr.Write(dgvStock.Columns[i].Name.ToString().ToUpper() + ",");
}
wr.WriteLine();
//write rows to excel file
for (int i = 0; i < (dgvStock.Rows.Count - 1); i++)
{
for (int j = 0; j < cols; j++)
{
if (dgvStock.Rows[i].Cells[j].Value != null)
{
wr.Write(dgvStock.Rows[i].Cells[j].Value + ",");
}
else
{
wr.Write(",");
}
}
wr.WriteLine();
}
//close file
wr.Close();
【问题讨论】:
-
请输入代码?你试过什么?你的意思是#作为井号吗?
-
我相信有一些格式选项(而不是单元格大小)可以解决这个问题。
-
我会疯狂地假设 OP 意味着当他们在 Excel 中打开 CSV 文件时,默认的列宽对于该值来说太小了。
-
那么你的程序输出正确的CSV数据,你导入到Excel中,Excel渲染的很丑?如果是这种情况,那么您的问题在于 Excel,而不是您的 CSV 编写程序。
-
OP 可能无法识别导入 Excel 和直接打开(比如在记事本中)之间的区别。 Excel 使它看起来非常就像你在打开 csv 时打开文件一样。