#c# #excel #office-addins #excel-addins
#c# #excel #office-дополнения #excel-дополнения
Вопрос:
Чтобы задать диапазон значений Excel, я использую этот код:
int[] values = new int[] {1, 2, 3};
String rangeStart = "A1";
String rangeEnd = "A3";
Microsoft.Office.Interop.Excel.Workbook objBook;
Microsoft.Office.Interop.Excel.Sheets objSheets;
Microsoft.Office.Interop.Excel._Worksheet workSheet;
objBook = (Microsoft.Office.Interop.Excel.Workbook)Globals.ThisAddIn.Application.ActiveWorkbook;
objSheets = objBook.Worksheets;
workSheet = (Microsoft.Office.Interop.Excel.Worksheet)objBook.ActiveSheet;
workSheet.Range[rangeStart, rangeEnd].Value = values;
Но ячейки содержат только первое значение массива.
Есть идеи, как записать каждое значение массива в поля?
Комментарии:
1. ЕСЛИ бы это был VBA, массив должен был бы быть 2D. Возможно, то же самое в C# ?
Ответ №1:
Как говорит @Ron Rosenfield, диапазоны Excel представляют собой двумерные массивы. Итак,
int[,] values = new int[,] { { 1 }, { 2 }, { 3 } };
будет работать для вас. Всегда помните — 2d массивы