Преобразование документа и загрузка в таблицу sql
-
18-09-2019 - |
Вопрос
У меня есть документ Word в формате docx с данными в повторяющемся шаблоне формата.
Я хотел бы взять все данные из повторяющегося набора и загрузить в строку таблицы SQL.
Пример данных здесь:
Question No : 1
How is LINQ to SQL different from Entities?
A. Answer 1
B. Answer 1
C. Answer 1
D. Answer 1
Answer : D
Explanations :
Some explanation.
Question No : 2
How is NVARCHAR different from VARCHAR
A. Answer 1
B. Answer 1
C. Answer 1
D. Answer 1
Answer : D
Explanations :
Some explanation.
Я мог бы придумать несколько подходов:
- Прочтите документ в формате docx с помощью Office API.
- Сохраните документ как XML из Word и проанализируйте XML [преобразованный XML-документ, похоже, не имеет структуры/схемы]
- Сохраните документ в формате HTML из Word и проанализируйте HTML [структура DOM сформирована неправильно]
Что из вышеперечисленного вы бы предложили и почему?Существуют ли какие-либо инструменты, которые помогут преобразовать документ и загрузить его в таблицу SQL или получить доступ к базе данных?
Спасибо!
Решение
DOCX — это просто дерево каталогов ZIP файлов XML.Используйте WinZip или 7-Zip, чтобы распаковать его в набор подкаталогов.Загрузите эти XML-файлы на SQL Server, добавив имя файла и путь к папке.используйте XML-методы SQL Server (.node и т. д.), чтобы преобразовать их в нужную реляционную форму.
Обратите внимание, что у них есть схемы и структуры XML.
Другие советы
Если вы собираетесь обрабатывать эти файлы не очень часто, я бы посоветовал сохранить их в другом формате (более удобном для обработки SQL) — возможно, даже в текстовом формате.Если этот процесс (импорта этого файла в БД) будет выполняться регулярно - используйте собственную обработку DOCX без конвертации в промежуточный формат.Быстрый поиск в Google показал, что существуют компоненты, которые могут считывать формат docx в базу данных (например, http://www.brothersoft.com/code-library-for-.net-(sql-server-msde)-22050.html)