Pregunta

Un vendedor está proporcionando contenido que debe ser insertado en el db. El contenido es básicamente preguntas con opciones y explicaciones. Un ejemplo es a continuación.

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

1) ¿Cuál es la capital de Reino Unido?

1] Londres 2] Paris 3] Berlín 4] Edimburgo

Solución: soso

Respuesta: Opción 1

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

Hay cientos de preguntas en el formato anterior y el vendedor se lo suministran en un formato .doc o .docx. Todas estas preguntas necesitan ser entrado en la base de datos y no tengo para automatizar el proceso para que los datos se leen de la palabra doc y entró en dB.

¿Cuál es la mejor manera de hacerlo? Yo prefiero usar C # y ya tengo código al cual toma los objetos personalizados y lo inserta en los cuadros correspondientes. Ahora todo lo que quiero es leer el documento de Word y poblar esos objetos. Cualquier indicador sería de gran ayuda.

Gracias por su tiempo!

Saludos

¿Fue útil?

Solución

Es necesario referencia y utiliza el objeto COM "biblioteca de objetos de Microsoft Word x.x" donde se x.x alguna versión dependiendo de la versión de Office que está utilizando.

A continuación, deberá utilizar un Word.ApplicationClass para abrir el documento de Word y acceder a sus datos. A menudo se sugiere que copie todo el documento de Word en el portapapeles y luego acceder a ella desde allí.

Algo así como:

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();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top