Как мне заполнить arraylist, чтобы преуспеть (VSTO) в C # - PullRequest
1 голос
/ 20 января 2011

У меня есть arraylist (array_list), состоящий из значений, я хочу заполнить этот arraylist (array_list) в листе Excel.

Далее, есть некоторые значения в arraylist (array_list), которые я не буду заполнять вЛист Excel.Я собираюсь вызвать лист Excel из c #, используя VSTO.

Как мне выполнить вышеупомянутое.

1 Ответ

2 голосов
/ 25 января 2011

Это довольно уродливо, но это работает - запишите содержимое вашего массива в двумерный массив и выведите его на рабочий лист:

var arrayList = new ArrayList();
arrayList.Add("Alpha");
arrayList.Add("Bravo");
arrayList.Add("Charlie");

var excel = Globals.ThisAddIn.Application;
var worksheet = (Worksheet)excel.ActiveSheet;

var array = new object[1, 3];
for (var i = 0; i < 3; i++)
{
   array[0, i] = arrayList[i];
}

var firstCell = worksheet.Cells[1, 1];
var lastCell = worksheet.Cells[1, 3];
var range = worksheet.Range[firstCell, lastCell];
range.Value2 = array;

В качестве альтернативы, если ваш список достаточно мал, вы можете просто перебрать свой список массивов и записать содержимое ячейка за ячейкой:

var row = 1;
foreach (var value in arrayList)
{
   var cell = (Range)worksheet.Cells[row, 1];
   cell.Value2 = value;
   row++;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...