.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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д