【发布时间】:2015-06-08 12:35:01
【问题描述】:
我有大量 .csv 文件需要在应用一些格式后转换为 .xslx。
一个包含大约 20 000 行和 7 列的文件需要 12 分钟才能转换。 如果文件包含超过 100 000 个,则运行时间 > 1 小时。
很遗憾,这对我来说是不可接受的。
代码sn-p:
var format = new ExcelTextFormat();
format.Delimiter = ';';
format.Encoding = new UTF7Encoding();
format.Culture = new CultureInfo(System.Threading.Thread.CurrentThread.CurrentCulture.ToString());
format.Culture.DateTimeFormat.ShortDatePattern = "dd.mm.yyyy";
using (ExcelPackage package = new ExcelPackage(new FileInfo(file.Name))){
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(Path.GetFileNameWithoutExtension(file.Name));
worksheet.Cells["A1"].LoadFromText(new FileInfo(file.FullName), format);
}
我已经确认是 LoadFromText 命令花费了所用的时间。
有没有办法加快速度? 我试过不带“格式”参数,但加载时间是一样的。
您遇到的加载时间是多少?
【问题讨论】:
-
因为它是一个简单的 CSV,您是否尝试过使用 StreamReader 读取它?
-
不,我对 C# 很陌生,不知道如何解决它,但我会考虑你的建议。谢谢。