gpt4 book ai didi

c# - 从 c# : extra character in excel 创建 CSV 文件

转载 作者:行者123 更新时间:2023-11-30 19:20:53 24 4
gpt4 key购买 nike

我从 C# 应用程序创建 CSV 文件,但字符  在 Excel 和 OpenOfficeCalc 中显示在第一个单元格中,但在记事本和 Notepad++ 中不显示。

这是我的代码:

StreamWriter streamWriter = new StreamWriter(new FileStream(filePath, FileMode.Create), Encoding.UTF8);
List<MyData> myData = GetMyData;

foreach(MyData md in myData)
{
streamWriter.WriteLine(md.Date + "," + md.Data1 + "," + md.Data2 + "," + md.Data3 + "," + md.Data4);
}
streamWriter.Flush();
streamWriter.Close();

MyData

public struct MyData
{
public float Data1;
public float Data2;
public float Data3;
public float Data4;
public DateTime Date;
}

这是记事本和 Notepad++ 中的结果:

01/12/2010 00:04:00,0.08,78787.4,9.1,5
01/12/2010 00:09:00,0.07,78787.42,9.1,5
01/12/2010 00:14:00,0.06,78787.44,9.1,5
01/12/2010 00:19:00,1.45,78787.58,9.1,5
01/12/2010 00:24:00,2.13,78788.15,9.1,5
01/12/2010 00:29:00,1.72,78788.53,9,5
01/12/2010 00:34:00,0.89,78788.73,9,5

在 Excel 和 Calc 中:

01/12/2010 00:04:00   0.08    78787.4     9.1    5
01/12/10 00:09 0.07 78787.42 9.1 5
01/12/10 00:14 0.06 78787.44 9.1 5
01/12/10 00:19 1.45 78787.58 9.1 5
01/12/10 00:24 2.13 78788.15 9.1 5
01/12/10 00:29 1.72 78788.53 9 5
01/12/10 00:34 0.89 78788.73 9 5

这 3 个字符只在文件开头出现一次,然后一切正常。

我的问题是:

 来自哪里以及如何删除它?

我尝试将我的输出写入 StringBuilder 并进行调试以查看其内容,但它没有这些字符。

最佳答案

这是UTF8编码的BOM

看这个问题:Write text files without Byte Order Mark (BOM)?

关于c# - 从 c# : extra character in excel 创建 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4931835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com