Функционал программы
Загружает файлы по ссылкам, находящимся в строках определенного столбца таблицы Excel.
- Пользователь запускает программу
- Вводит путь до файла книги Excel
- Вводит номер листа в книге
- Вводит номер столбца таблицы
- Вводит разделитель ссылок в ячейке(если есть), например, "|" или ";"
- Указывает путь сохранения всех загружаемых файлов(будет создан, если не существует)
- По завершению, нажав "Enter", откроется папка с файлами
Фрагмент программного кода
using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { // Загружаем книгу Excel IWorkbook workbook = new XSSFWorkbook(fileStream); // Получаем первый лист ISheet sheet = workbook.GetSheetAt(sheetIndex-1); // Номер столбца, который вы хотите извлечь // Получаем количество строк в столбце int rowCount = sheet.LastRowNum + 1; Console.Clear(); Console.WriteLine("----------------"); Console.WriteLine("Получение ссылок на загружаемые файлы"); Console.WriteLine("----------------"); // Извлекаем текст из каждой строки в столбце for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) { IRow row = sheet.GetRow(rowIndex); if (row != null) { // Получаем ячейку в нужном столбце ICell cell = row.GetCell(columnIndex-1); if (cell != null) { // Извлекаем текст из ячейки string cellValue = cell.StringCellValue; var splits = cellValue.Split(spltter); foreach (string s in splits) { if(!s.Contains("://")) continue; list.Add(s); Console.WriteLine($"Ссылка получена: \"{s.Substring(0,50)}...\""); Thread.Sleep(1000); } } } } Console.Clear(); Console.WriteLine("----------------"); Console.WriteLine($"Все ссылки получены"); Console.WriteLine("----------------"); Thread.Sleep(1000); }
Скриншот архива с проектом
Пояснения по запуску программы
- Открыть каталог: ExcelColumnContentDownloader\bin\Debug\net6.0
- Запустить ExcelWorker.exe
DmitryBoytsov05