Программа C # слишком долго выполняет сопоставление с таблицей Excel

#c# #excel

#c# #excel

Вопрос:

У меня есть программа на C #, которая использует устаревший файл отчета и сопоставляет его с Excel. Она работала нормально, но мы изменили процесс. Устаревшая программа группирует все подробные строки вместе, и моя программа разрывает страницу, а не раньше, когда они предоставляли все страницы. это увеличило время выполнения примерно в 4 раза.

Мне сказали, что если я смогу вручную изменить Excel для создания «правильного» вывода для входного файла, это может значительно ускорить процесс.

также перейдите к коду Excel или надстройке, которая будет запускаться из Dxcel и, следовательно, будет быстрее

Может кто-нибудь подсказать мне, как применить эти 2 идеи? Теперь мы делаем код в виде массива и записываем всю строку, а не ячейку за ячейкой. вот копия кода: http://www.mediafire.com/?cebg17u5wl0ir25

Ответ №1:

Автоматизация офисных приложений, как правило, очень медленная. Я только что столкнулся с этой проблемой, пытаясь создать сложную графику с помощью кода Visio form c #. Это продолжалось около 30 секунд. Теперь я создаю SVG-файл, который затем открывается в Visio. Создание SVG-файла теперь длится менее 1 секунды!

Я предлагаю вам экспортировать ваши данные в виде CSV-файла, а затем импортировать их в Excel. Выполняйте только минимум, то есть создание рабочих листов, импорт CSV и форматирование, с помощью Excel-automation.

Комментарии:

1. Он хочет, чтобы в файле были разрывы страниц, поэтому csv этого не сделает. Но spreadsheetml может.

2. да, это необходимо. В моем C # я делаю разрыв страницы после 16 строк сведений. В противном случае, если у меня есть устаревший программист, отправляющий его с перерывами, тогда нам понадобится несколько программ, а также больше шаблонов.