Mr *_*Neo 5 c# csv excel notepad++
我收到了将数据保存在CSV文件中并将其发送给客户的要求.客户使用Excel和记事本来查看此文件.数据看起来像:
975567EB,973456CE,971343C8
我的数据有一些数字以"E3"结尾,如:
98765E3
因此,当在Excel中打开时,它将更改为:
9.8765E + 7
我编写了一个程序,通过在C#中添加="98765E3"将此格式更改为文本
while(!sr.EndOfStream) {
var line = sr.ReadLine();
var values = line.Split(',');
values[0] = "=" + "\"" + values[0] + "\""; //Change number format to string
listA.Add(new string[] {values[0], values[1], values[2], values[3]});
}
Run Code Online (Sandbox Code Playgroud)
但对于使用记事本打开CSV文件的客户,它会显示如下:
= "98765E3"
如何将数字保存为CSV文本以在Excel和记事本中打开并获得相同的结果?非常感谢任何建议!
小智 4
\n\n\n不要射杀信使。
\n
您的问题不在于您在 C# 中导出(创建...?)数据的方式。这是您在 Excel 中打开 CSV 文件的方式。
\n\nExcel 有许多用于导入文本文件的选项,这些选项允许使用FieldInfo参数,该参数为导入的数据的每个字段(也称为列)指定TextFileColumnDataTypes 属性。
\n\n如果您选择从资源管理器文件夹窗口双击 CSV 文件,那么您将不得不忍受 Excel 的“最佳猜测”是您为每一列准备的字段类型。它不会在导入过程中途停止征求您的意见。一些常见错误包括:
\n\n这是常见错误的简短列表。还有其他的。以下是一些常见的解决方案。
\n\n有一些不太精确的解决方案仍然需要 Excel 的一些解释。
\n\n")来包装您想要解释为文本的值。后两种方法会在记事本中产生一些奇怪的值,但记事本不是 Excel,无法在几秒钟内处理 50 万次计算和其他操作。如果您必须将这两个程序混搭在一起,就会有一些妥协。
\n\n我的建议是在记事本中尽可能保留这些值,并使用 Excel 中现成的工具和流程来正确导入数据。
\n