В настоящее время я пытаюсь написать данные из массива объектов в диапазон в 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