使用EPPlus将csv文件导入Excel时,数据的尾部零丢失。

17 浏览
0 Comments

使用EPPlus将csv文件导入Excel时,数据的尾部零丢失。

我正在使用C#和EPPlus将.csv数据导入到工作簿中。我的唯一问题是,在导入到Excel后,数据的尾部零会丢失。

例如:

  • .CSV文件中,数据是这样的:1250.80
  • .xlsx文件中,数据最终变成了1250.8

这似乎是一个小问题,但我需要将工作簿与工作簿进行比较,而不是看到所有这些差异。

这是读取数据的例程:

string[] csvInputfile = File.ReadAllLines(filePathName);

这是我尝试在数据周围加上双引号的方法:

for (int idx = 0; idx < csvInputfile.Length; idx++)
{
    csvInputfile[idx] = csvInputfile[idx].Replace(",", ",\"");
}

这里是我将内容写入Excel实例的方法:

for (int i = 0; i < csvInputfile.Length; i++)
{
    ExcelWorksheet curWorksheet = excelPackage.Workbook.Worksheets.Add(csvInputfile[outerLoopCnt]);
    for (int j = 0; j < csvInputfile.Length; j++)
    {
        innerLoopCnt++;
        curWorksheet.Cells[j + 1, 1, j + 1, 100].Style.Numberformat.Format = "@";
        curWorksheet.Cells[j + 1, 1].LoadFromText(csvInputfile[innerLoopCnt], format);
        if (csvInputfile[innerLoopCnt + 1] == "")
        {
            outerLoopCnt = innerLoopCnt + 2;
            innerLoopCnt += 2;
            break;
        }
    }
    if (innerLoopCnt == csvInputfile.Length) 
    {
        break; 
    }
}

这里是保存文件的方法:

excelPackage.SaveAs(file);

这只是一个大致的想法,效果不太好。这种方法比较原始,但我不知道还有什么其他方法可以使其工作,我会非常感激任何帮助。

0