Записать список в Excel - C#

Узнай цену своей работы

Формулировка задачи:

нужно список записать в ексель , подскажите что не так
 Excel.Application ObjExcel = new Excel.Application();
            Excel.Workbook ObjWorkBook;
            Excel.Worksheet ObjWorkSheet;
            ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value);
            ObjWorkSheet = (Excel.Worksheet)ObjWorkBook.Sheets[1];

            for (int i = 1; i < listA.Count; i++)
            {
                for (int j = 0; j < 8; j++)
                {
 
                    ObjWorkSheet.Cells[i, j +1] = listA[j];

                }
 
            }
            ObjWorkBook.SaveAs(System.IO.Path.GetFullPath("log.xlsx"), Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Excel.XlSaveAsAccessMode.xlExclusive,
            Missing.Value, System.Reflection.Missing.Value, Missing.Value, Missing.Value, Missing.Value);
            /**/
            ObjExcel.Quit();

Решение задачи: «Записать список в Excel»

textual
Листинг программы
            //создаём список
            var ListA = new List<string>();
            ListA.Add("one");
            ListA.Add("two");
            ListA.Add("three");
 
            //создаём двумерный массив
            string[,] arrData = new string[ListA.Count,1];           
 
            //перекладываем из List в двумерный массив
            for (int i = 0; i < ListA.Count; i++)
            {
                arrData[i, 0] = ListA[i];
            }
 
            Excel.Application xlApp = new Excel.Application(); //Excel
            Excel.Workbook xlWB; //рабочая книга            
            Excel.Worksheet xlSht; //лист Excel            
            Excel.Range Rng; //диапазон ячеек
 
            xlWB = xlApp.Workbooks.Open(@"C:\C#\Test Excel.xlsx"); //название файла Excel                                 
            xlSht = xlWB.Worksheets["Лист1"]; //название листа или 1-й лист в книге xlSht = xlWB.Worksheets[1];
 
            //выгрузка массива на лист
            xlWB.Worksheets[1].Range["A1"].Resize[arrData.GetUpperBound(0)+1, arrData.GetUpperBound(1) + 1].Value = arrData;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5
Похожие ответы