У меня есть запрос на некоторую контрактную работу от организации, которая использует Excel в качестве базы данных и хочет выполнить некоторую работу с данными Excel через реальную базу данных. (Да, я знаю, неважно ...)
У клиента есть лист Excel, который он использует внутри, чтобы отслеживать некоторые правительственные программы. Данные из этого листа Excel вручную импортировались в базу данных SQL через CSV в качестве промежуточного формата и были доступны через крошечное веб-приложение. Изменения в электронной таблице или в базе данных были сделаны вручную (разными людьми) и должны были синхронизироваться вручную.
Спецификация для новой функциональности включает в себя:
- загрузить файл Excel в веб-приложение
- вносить незначительные изменения через веб-приложение (этот бит, конечно, не составляет труда)
- иногда экспортирует данные обратно в Excel
Электронная таблица (на самом деле это пара из них в рабочей книге) реализует некоторые руководящие принципы, необходимые для взаимодействия с другими учреждениями, и, следовательно, должна оставаться неизменной структурно до и после импорта. Он содержит много форматирования, скрытых столбцов и кнопок сортировки, а также множество ссылок на данные между ячейками на разных листах.
Мне не нужно воспроизводить электронную таблицу с нуля для доставки экспорта, а также я не хочу вручную извлекать нужные столбцы в CSV перед выполнением импорта. Я скорее ищу способ загрузить Excel, «запросить» определенные поля, записать их в БД, а затем загрузить данные обратно из БД и манипулировать только содержимым соответствующих ячеек.
Есть ли способ программно взаимодействовать с существующей электронной таблицей и только читать или изменять нужные вам биты?