Чтение данных от .doc или .docx и вставка в DB

StackOverflow https://stackoverflow.com/questions/3509831

  •  29-09-2019
  •  | 
  •  

Вопрос

Продавец предоставляет контент, который необходимо вставить в БД. Содержание в основном вопросы с вариантами и объяснениями. Пример ниже.

=========================================

1) Что такое столица Великобритании?

1] Лондон 2] Париж 3] Берлин 4] Эдинбург

Решение: бла -бла -бла

Ответ: вариант 1

==========================================

В приведенном выше формате есть сотни вопросов, и поставщик поставляет его в формате .doc или .docx. Все эти вопросы необходимо ввести в базу данных, и я должен автоматизировать процесс, чтобы данные были считываться от слова DOC и введены в DB.

Как лучше всего это сделать? Я предпочитаю использовать C#, и у меня уже есть код, который принимает пользовательские объекты и вставляет его в соответствующие таблицы. Теперь все, что я хочу, это прочитать слово DOC и заполнить эти объекты. Любые указатели будут полезны.

Спасибо за ваше время!

Ваше здоровье

Это было полезно?

Решение

Вам нужно ссылаться и использовать объект COM "Библиотека объектов Microsoft Word XX" где XX - некоторая версия в зависимости от версии Office, которую вы используете.

Затем вам нужно использовать Word.ApplicationClass, чтобы открыть документ Word и получить доступ к его данным. Часто предлагается скопировать весь документ Word в буфер обмена, а затем получить доступ к нему оттуда.

Что-то вроде:

Word.ApplicationClass wordApp = new Word.ApplicationClass();
object file = filepath;
object nullobj = System.Reflection.Missing.Value;
Word.Document doc = wordApp.Documents.Open(ref file, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj);
doc.ActiveWindow.Selection.WholeStory();
doc.ActiveWindow.Selection.Copy();
IDataObject data = Clipboard.GetDataObject();
txtFileContent.Text = data.GetData(DataFormats.Text).ToString();
doc.Close();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top