Написать массив в диапазон ExcelC#

Место общения программистов C#
Ответить
Anonymous
 Написать массив в диапазон Excel

Сообщение Anonymous »

В настоящее время я пытаюсь написать данные из массива объектов в диапазон в Excel, используя следующий код, где objdata < /code> - это просто массив строк: < /p>

private object m = System.Type.Missing;
object[] objData = getDataIWantToWrite();

Range rn_Temp;
rn_Temp = (Range)XlApp.get_Range(RangeName, m);
rn_Temp = rn_Temp.get_Resize(objData.GetUpperBound(), 1);
rn_Temp.value2 = objData;
< /code>

Это почти работает, проблема заключается в том, что диапазон заполняется, но каждая ячейка получает значение первого элемента в objdata < /code>. < /p>

Обратные работы, то есть < /p>

.private object m = System.Type.Missing;
object[] objData = new object[x,y]

Range rn_Temp;
rn_Temp = (Range)XlApp.get_Range(RangeName, m);
rn_Temp = rn_Temp.get_Resize(objData.GetUpperBound(), 1);
objData = (object[])rn_Temp.value2;
< /code>

вернул бы массив, содержащий все значения из рабочего листа, поэтому я не уверен, почему чтение и назначение работают по -другому. В настоящее время я пишу ячейку массива по ячейке, но она должна справиться с лотами (> 50 000) строк, и поэтому это очень много времени.

Подробнее здесь: https://stackoverflow.com/questions/536 ... xcel-range
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»