.NET 4.x Excel, Range и С# - Добавление массива в диапазон ячеек - C#

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

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

Добрый день. Нужна помощь: Пишу простой парсер, который из файлов .xlsx собирает нужную информацию в List. После List преобразовывается в массив и его нужно вставить диапазон ячеек другого excel файла. Вот код:
Листинг программы
  1. using System;
  2. using System.IO;
  3. using System.Data;
  4. using System.Collections.Generic;
  5. using Excel;
  6. using EXCEL = Microsoft.Office.Interop.Excel;
  7.  
  8. namespace ConsoleApplication1
  9. {
  10. class Program
  11. {
  12. static void Main(string[] args)
  13. {
  14. int writePos = 1;
  15. string key = "Контактный телефон:";
  16. string path = "C:\\Users\\USERNAME\\Desktop\\FOLDER";
  17. List<string> numbers = new List<string>() { "1", "2", "3", "4", "5" }; /* Тестовый Лист, дабы не проходить по 3к+ файлам excel */
  18. DirectoryInfo dir = new DirectoryInfo(path);
  19. FileInfo[] files = dir.GetFiles("*.*", SearchOption.AllDirectories);
  20. EXCEL.Application ObjExcel = new EXCEL.Application();
  21. EXCEL.Workbook ObjWorkBook;
  22. EXCEL.Worksheet ObjWorkSheet;
  23. //Книга.
  24. ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value);
  25. //Таблица.
  26. ObjWorkSheet = (EXCEL.Worksheet)ObjWorkBook.Worksheets.get_Item(1);
  27. object misValue = System.Reflection.Missing.Value;
  28. string[] finalNumber = numbers.ToArray();
  29. EXCEL.Range myRange = (EXCEL.Range) ObjWorkSheet.Range["A1", "A"+finalNumber.Length.ToString()];
  30. myRange.Value = finalNumber; /* По всему диапазону ячеек после создания файлов будет лишь первое значение массива */
  31. Console.WriteLine("Завершено.");
  32. ObjWorkBook.SaveAs("C:\\Users\\USERNAME\\Desktop\\Base.xlsx");
  33. Console.ReadKey();
  34. ObjWorkBook.Close(true, misValue, misValue);
  35. ObjExcel.Quit();
  36. }
  37. }
  38. }
В итоге вместо уникальных значений ячеек, в каждой ячейки таблицы первое значение из массива. Прошу помощи, поскольку десктоп не профиль и с c# знаком на уровне "походу читая док учу язык". Относительный тщательный поиск на просторах интернета не помог ни разу, стало не понятней - почти все Range получают ф-ей get_range(from,to), у меня онная не работает. Грешу на разницу в версих .NET. Сижу на Win 10, в ней, судя по вики, используется версия 4.6.

Решение задачи: «.NET 4.x Excel, Range и С# - Добавление массива в диапазон ячеек»

textual
Листинг программы
  1.  
  2. myRange.Value = finalNumber;

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


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

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

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

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

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

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