C# streamwriter:csv文件

C# streamwriter:csv文件,c#,winforms,csv,.net-4.0,C#,Winforms,Csv,.net 4.0,我使用StreamWriter将数据写入csv文件。当我使用Excel打开csv文件时,一切都很好,只是有些单元格有哈希符号,而不是写入单元格的数据。但是,随着单元格大小的增加,这些数据变得可见。是否有任何方法可以克服哈希(#)符号的问题,而不必手动增加单元格大小 int cols; //open file //StreamWriter wr = new StreamWriter(@"O:\C_2013_MRO_Software Database\Manpowerdata.csv"); Str

我使用
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();
int-cols;
//打开文件
//StreamWriter wr=新StreamWriter(@“O:\C_2013_MRO_软件数据库\Manpowerdata.csv”);
StreamWriter wr=新的StreamWriter(@“C:\Manpowerdata.csv”);
//确定列数并将列写入文件
var dgvStock=dataGridView3;
cols=dgvStock.Columns.Count;
for(int i=0;i
在MS Excel(和其他电子表格程序)中查看时,不适合使用
的单元格的数据。这并不表示任何有关基础CSV数据的信息。

请输入代码?你试过什么?你是说#作为散列符号吗?我相信有一些格式选项(而不是单元格大小)可以解决这个问题。我假设OP意味着当他们在Excel中打开CSV文件时,默认列宽对于该值来说太小。因此,你的程序输出正确的CSV数据,你将其导入Excel,Excel以一种丑陋的方式呈现它?如果是这种情况,那么您的问题是Excel,而不是CSV编写程序。OP可能无法识别导入Excel和直接打开(比如在记事本中)之间的区别。Excel使它看起来非常像打开csv时未更改打开的文件。