Кажется, всем известно, что взаимодействие с Excel и .Net происходит очень медленно. Мне известно о возможности скопировать массив значений в объект рабочего листа за один раз, но, согласно моему секундомеру, даже одна команда (внутри VB.Net) типа:
WS.Range(--range string here--).Value = array
... занимает более 0,3 с! Это складывается, поскольку моя процедура записывает десятки массивов на каждый рабочий лист, а на каждую книгу приходится несколько рабочих листов, и я, вероятно, также буду перебирать несколько книг.
Если бы существовал способ записывать сразу прерывистые непрямоугольные группы ячеек, то я мог бы сделать всю WS с помощью одной команды записи. Но я не думаю, что есть способ сделать это при сохранении исходных значений для «промежуточных» ячеек. Эти книги предварительно отформатированы, поэтому я должен оставить определенные ячейки как есть.
Что я могу сделать, чтобы это ускорить?