首页 > 解决方案 > 有没有一种方法可以减少将数据从一个 excel 文件复制到另一个 excel 文件的不同列的性能时间?

问题描述

我一直在开发一种工具,在该工具中,数据从输入 excel 文件复制到不同列位置的另一个 excel 文件。目前,我正在使用 sheet.Range 函数通过对存在的行数使用循环将数据从单个列复制到另一列(因为还有一些数据操作)。由于输入文件太大,因此花费了太多时间。我该如何优化它?注意:我不能跳过循环此外,我尝试了并行编程概念,但由于输出数据条目依赖于前一行,因此无法完成。有同事建议我把excel转成csv文件,然后再对数据进行操作。但是,我不确定这是否会有所帮助。如果是,我们该怎么做?

标签: c#.netexcel

解决方案


我会首先尝试将 excel 文件转换为 csv 文件,就像你朋友提到的那样。拉入 csv 对象比 excel 对象便宜得多。您可以通过使用 Microsoft.Office.Interop.Excel 并调用:

myExcelWorkbook.SaveAs(@"c:\myExcelWorkbookIsNowA_CSVFile.csv",......)

然后使用 csv 文件进行数据操作。看看性能是否有所提高。


推荐阅读