Есть ли способ уменьшить время, необходимое для копирования данных из одного файла Excel в другой столбец в другом файле Excel? - PullRequest
0 голосов
/ 05 ноября 2019

Я разработал инструмент, в котором данные копируются из входного файла Excel в другой файл Excel в другом месте столбца. В настоящее время я использую функцию sheet.Range для копирования данных из отдельного столбца в другой, используя цикл для количества присутствующих строк (так как есть также некоторые манипуляции с данными). Поскольку входной файл слишком велик, он занимает слишком много времени. Как я могу оптимизировать это? Примечание: я не могу пропустить циклы. Также я попробовал концепцию параллельного программирования, но так как ввод выходных данных зависит от предыдущего ряда, это невозможно сделать. Некоторые коллеги предложили мне преобразовать Excel в CSV-файл, а затем манипулировать данными. Но я не уверен, поможет ли это. Если да, то как мы можем это сделать?

1 Ответ

0 голосов
/ 06 ноября 2019

Сначала я бы попытался преобразовать файл Excel в файл CSV, как упомянул ваш собеседник. Вытащить объект CSV гораздо дешевле, чем объект Excel. Вы можете сделать это, просто используя Microsoft.Office.Interop.Excel и вызвав:

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

Затем поработайте с CSV-файлом для манипулирования данными. И посмотрите, улучшится ли производительность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...