使用EPPlus将csv文件导入Excel时,数据的尾部零丢失。
使用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);
这只是一个大致的想法,效果不太好。这种方法比较原始,但我不知道还有什么其他方法可以使其工作,我会非常感激任何帮助。