قراءة البيانات من .doc أو .docx والإدراج في db

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

  •  29-09-2019
  •  | 
  •  

سؤال

يقدم البائع محتوى يحتاج إلى إدراج في DB. المحتوى هو أسئلة في الأساس مع الخيارات والتفسيرات. مثال أدناه.

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

1) ما هي عاصمة المملكة المتحدة؟

1] لندن 2] باريس 3] برلين 4] أدنبرة

الحل: بلاه بلاه بلاه

الإجابة: الخيار 1

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

هناك المئات من الأسئلة في التنسيق أعلاه ويقوم البائع بتزويدها بتنسيق .doc أو .docx. يجب إدخال كل هذه الأسئلة في قاعدة البيانات ويجب علي أتمتة العملية بحيث تتم قراءة البيانات من Word Doc وإدخالها في DB.

ما هي أفضل طريقة للذهاب نحو ذلك؟ أفضل استخدام C# ولدي بالفعل رمز يأخذ كائنات مخصصة ويدرجها في الجداول ذات الصلة. الآن كل ما أريده هو قراءة كلمة المستند وملء هذه الكائنات. إن أي مؤشرات تكون مفيدة.

شكرا لوقتك!

هتافات

هل كانت مفيدة؟

المحلول

تحتاج إلى الرجوع واستخدام كائن COM "مكتبة كائن Microsoft Word XX" حيث XX هو بعض الإصدار اعتمادًا على إصدار Office الذي تستخدمه.

تحتاج بعد ذلك إلى استخدام كلمة. غالبًا ما يُقترح أن تقوم بنسخ مستند 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