当我在c#中将数据导出到Excel时,数字显示为3.24234E + 20而不是“324234234234234000000”。我想在excel中显示确切的数字,如何通过c#格式化单元格。
在Excel格式类型中“通用格式显示为E +”,但在数字格式中显示的是确切数字,无论它们是什么。
控制台应用程序ro导出excel文件。
String strFilePath = "c:\file.csv";
List<string> lst = new List{"121826198369183", "3287456823568723", "23874523876528936589265"};
using (var file = File.CreateText(strFilePath))
{
foreach (var arr in lst)
{
if (arr == null || arr.Length == 0) continue;
file.Write(arr[0]);
for (int i = 1; i < arr.Length; i++)
{
file.Write(arr[i]);
}
file.WriteLine();
}
}
答案 0 :(得分:0)
您必须格式化数字的单元格。 Here's an example
格式字符串可以像excel一样使用。如果要保持前面的零,则必须定义“00000000000000000”之类的格式。然后,Excel将始终显示17位数字,如果数字少于17位,则会在数字前面添加零。
答案 1 :(得分:0)
我建议您提供一些关于您如何进行导出的详细信息。任何插件等?
如果您正在使用HTML到XLS方式,那么我可以建议您在导出之前尝试将以下样式应用于每个单元格吗?
mso-number-format:\@;
希望它有所帮助。