Каждый IT специалист когда-то сталкивался с автоматизацией через Excel. Excel – отличный инструмент для мелких автоматизаций, вычислений, даже для небольших баз данных. Все до момента, когда эта для решения на Excel не встает вопрос одновременной многопользовательской работы.
Использовать Excel можно и для многопользовательской работы. Имею опыт нескольких успешных внедрений Office Online вместе с SharePoint 2019. Office Online , конечно, накладывает ограничения, например, не работают макросы в режиме работы с файлом в браузере, но все равно это очень удобная штука, т.к. в основном работа в Excel идет сданными и их анализом.
Но чаще в жизни разработчика требуется из Excel вытащить данные для дальнейшей загрузки в другие системы. Зачастую намного проще и быстрей преобразовать файл в CSV и дальше считать в массив, но если не хочется заниматься сохранением вручную, если в файлах несколько листов, то лучше освоить способы чтение данных из Excel.
Из современных решений мне очень нравится EPPlus - подключается к проекту C# (.Net, Net.Core) через Nuget. Для публичных сервисов с открытым кодом библиотеку можно использовать бесплатно, для коммерческих проектов нужно купить лицензию.
Пример чтения данных из Excel файла, код на C#. Тип приложения – Net.Core 5. Для работы добавьте в файл класса using OfficeOpenXml и using System.IO.
public void ReadExcel () { using (ExcelPackage package = new ExcelPackage(new FileInfo(@"C:\\Projects\\ReadXL\\ReadXL\\tax-report-2021-01-01-2021-12-31.xlsx"))) { ExcelWorksheet worksheet = package.Workbook.Worksheets["Итоговые расчёты"]; //Чтение ячейки листа var r = worksheet.Cells["A10"].Value; Console.WriteLine(r); //Чтение диапазона var rng = worksheet.Cells["A10:B30"]; foreach(var q in rng) { Console.WriteLine(q.Address.ToString() + " : " + q.Value); } } }