У меня есть требования от нашего клиента, где мы в основном должны «анализировать» PDF-файлы из разных источников.
Решение, с которым мы пришли, так как «фаза 1» (поскольку у нас мало времени для выхода на рынок и мы сэкономим им огромное количество времени), составляет
1) вручную используйте приложение Able2Extract, чтобы извлечь нужные столбцы из файла PDF и выплюнуть файл Excel. Этот файл Excel по-прежнему очень «грязный», так как содержит тонны информации заголовка, дополнительные поля, которые нам не нужны, и т. Д.
2) запустите наше приложение, загрузив в него этот файл Excel, который сделает оставшуюся часть очистки. Он берет этот «грязный» файл Excel, а затем дает им очень чистый файл Excel, в котором только 3 или 4 столбца, которые им нужны, все строки выстроены очень аккуратно.
Первое решение, которое мы изучаем, - это использование VBA / Excel для шага 2). Они берут свой грязный вывод, вставляют его в Excel, а затем запускают наш макрос очистки. Excel отлично подходит для такого рода вещей - перемещение и очистка данных, которые уже есть в электронной таблице Excel. Мы сделали проверку концепции с одним конкретным исходным файлом, и он получился великолепным. На разработку этого «скриптового сценария» уходит около полдня ...
Достаточно просто, а? На самом деле, нет. Этот скрипт работает только для одного конкретного типа файла из одного конкретного источника. У нас будет 10 различных источников, каждый с возможным 3-10 различными типами файлов. Это означает, что в итоге мы можем получить огромный макрос Excel, в котором есть 120 из этих очень специфических «скриптов очистки». Так что я беспокоюсь о долгосрочной ремонтопригодности здесь. Мы могли бы также натолкнуться на файлы, которые мы никогда раньше не видели, которые могли бы «сломать» наш скрипт очистки, и мне пришлось бы выполнить быструю повторную депиляцию / изменение сценария очистки ... Я никогда не использовал инструменты Visual Studio для Office и минимальный опыт работы с макросами VBA Excel - но здесь может показаться, что это хороший случай.
Какие-нибудь слова мудрости от кого-то, кто мог сделать что-то подобное раньше? Являются ли огромные макросы VBA чем-то вроде того, что может привести к кошмарам? Является ли VSTFO хорошей альтернативой, которая предоставит мне функциональность «легко перемещать / очищать данные», но с масштабируемостью и надежностью? Если честно; Моим первым инстинктом было чистое решение .NET с динамически скомпилированными сценариями, извлеченными из базы данных, с использованием нашего API Syncfusion Excel для очистки / очистки ... но, возможно, это излишне ..
Спасибо за любой совет ...