AddPicture是否有其他select? (C#,Epplus)

我正在使用EPPlus将.csv文件转换为.xlsx,并使用ZXing将其中一列转换为条形码图像。 一切正常,但AddPicture的性能造成了一个问题。 .csv文件可以包含数千条logging,logging数越大,应用程序运行越慢。 我已经把问题缩小到AddPicture函数,并且读取它将图像复制到临时文件夹,插入到电子表格中,并删​​除临时映像,这是很多磁盘I / O。 如果我注释掉AddPicture函数,应用程序将在1-2秒内运行。 启用AddPicture函数可以按指数规律(基于logging数)将运行时间提高到无法使用的程度。

for (var r = 2; r < (workSheet.Dimension.End.Row + 1); r++) { //set row height workSheet.Row(r).Height = 50; //create barcode string string myBarcode = String.Format("{0}", workSheet.Cells[r, 7].Text); //create image string newFileName = "C:/DUMP/barcodes/" + myBarcode + ".jpeg"; if (!File.Exists(newFileName)) { createBarcode(myBarcode, 100, 40); } //add image to worksheet var picture = workSheet.Drawings.AddPicture(myBarcode, new FileInfo (newFileName)); //set image position int eppRow = r - 1; picture.SetPosition(eppRow, 10, 7, 5); //enable "TwoCell" to maintain column anchors picture.EditAs = OfficeOpenXml.Drawing.eEditAs.TwoCell; } 

我第一次尝试在内存中创build图像,并直接插入到电子表格中。 上面显示的版本正在将图像写入磁盘,并且只在必要时才创build新图像。 处理大量logging时,这两个版本都不能很好地执行。

EPPlus在转换.csv文件方面做得非常好,ZXing可以快速创build图像。 那些工作完美无瑕。 但是使用AddPicture将图像插入到Excel文件中会导致性能问题。 有没有人有关于如何去做这个的其他build议?