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

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

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

нужно список записать в ексель , подскажите что не так
Листинг программы
  1. Excel.Application ObjExcel = new Excel.Application();
  2. Excel.Workbook ObjWorkBook;
  3. Excel.Worksheet ObjWorkSheet;
  4. ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value);
  5. ObjWorkSheet = (Excel.Worksheet)ObjWorkBook.Sheets[1];
  6.  
  7. for (int i = 1; i < listA.Count; i++)
  8. {
  9. for (int j = 0; j < 8; j++)
  10. {
  11. ObjWorkSheet.Cells[i, j +1] = listA[j];
  12.  
  13. }
  14. }
  15. ObjWorkBook.SaveAs(System.IO.Path.GetFullPath("log.xlsx"), Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Excel.XlSaveAsAccessMode.xlExclusive,
  16. Missing.Value, System.Reflection.Missing.Value, Missing.Value, Missing.Value, Missing.Value);
  17. /**/
  18. ObjExcel.Quit();

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

textual
Листинг программы
  1.             //создаём список
  2.             var ListA = new List<string>();
  3.             ListA.Add("one");
  4.             ListA.Add("two");
  5.             ListA.Add("three");
  6.  
  7.             //создаём двумерный массив
  8.             string[,] arrData = new string[ListA.Count,1];          
  9.  
  10.             //перекладываем из List в двумерный массив
  11.             for (int i = 0; i < ListA.Count; i++)
  12.             {
  13.                 arrData[i, 0] = ListA[i];
  14.             }
  15.  
  16.             Excel.Application xlApp = new Excel.Application(); //Excel
  17.             Excel.Workbook xlWB; //рабочая книга            
  18.             Excel.Worksheet xlSht; //лист Excel            
  19.             Excel.Range Rng; //диапазон ячеек
  20.  
  21.             xlWB = xlApp.Workbooks.Open(@"C:\C#\Test Excel.xlsx"); //название файла Excel                                
  22.             xlSht = xlWB.Worksheets["Лист1"]; //название листа или 1-й лист в книге xlSht = xlWB.Worksheets[1];
  23.  
  24.             //выгрузка массива на лист
  25.             xlWB.Worksheets[1].Range["A1"].Resize[arrData.GetUpperBound(0)+1, arrData.GetUpperBound(1) + 1].Value = arrData;

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


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

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

14   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы