.NET 4.x Excel, Range и С# - Добавление массива в диапазон ячеек - C#
Формулировка задачи:
Добрый день. Нужна помощь:
Пишу простой парсер, который из файлов .xlsx собирает нужную информацию в List. После List преобразовывается в массив и его нужно вставить диапазон ячеек другого excel файла.
Вот код:
В итоге вместо уникальных значений ячеек, в каждой ячейки таблицы первое значение из массива.
Прошу помощи, поскольку десктоп не профиль и с c# знаком на уровне "походу читая док учу язык".
Относительный тщательный поиск на просторах интернета не помог ни разу, стало не понятней - почти все Range получают ф-ей get_range(from,to), у меня онная не работает. Грешу на разницу в версих .NET. Сижу на Win 10, в ней, судя по вики, используется версия 4.6.
using System; using System.IO; using System.Data; using System.Collections.Generic; using Excel; using EXCEL = Microsoft.Office.Interop.Excel; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int writePos = 1; string key = "Контактный телефон:"; string path = "C:\\Users\\USERNAME\\Desktop\\FOLDER"; List<string> numbers = new List<string>() { "1", "2", "3", "4", "5" }; /* Тестовый Лист, дабы не проходить по 3к+ файлам excel */ DirectoryInfo dir = new DirectoryInfo(path); FileInfo[] files = dir.GetFiles("*.*", SearchOption.AllDirectories); EXCEL.Application ObjExcel = new EXCEL.Application(); EXCEL.Workbook ObjWorkBook; EXCEL.Worksheet ObjWorkSheet; //Книга. ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value); //Таблица. ObjWorkSheet = (EXCEL.Worksheet)ObjWorkBook.Worksheets.get_Item(1); object misValue = System.Reflection.Missing.Value; string[] finalNumber = numbers.ToArray(); EXCEL.Range myRange = (EXCEL.Range) ObjWorkSheet.Range["A1", "A"+finalNumber.Length.ToString()]; myRange.Value = finalNumber; /* По всему диапазону ячеек после создания файлов будет лишь первое значение массива */ Console.WriteLine("Завершено."); ObjWorkBook.SaveAs("C:\\Users\\USERNAME\\Desktop\\Base.xlsx"); Console.ReadKey(); ObjWorkBook.Close(true, misValue, misValue); ObjExcel.Quit(); } } }
Решение задачи: «.NET 4.x Excel, Range и С# - Добавление массива в диапазон ячеек»
textual
Листинг программы
myRange.Value = finalNumber;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д