如何在C#中将数组列表填充为excel(VSTO)

我有一个arraylist(array_list)组成的值,我想在excel工作表中填充此arraylist(array_list)。

进一步有一些值arraylist(array_list),我不会在Excel表中填充。 我打算使用VSTO从c#调用excel表格。

我如何完成上述。

这是相当丑陋的,但它的作品 – 写出你的ArrayList内容到一个二维数组,并将其转储到工作表:

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++; }