2010-08-18 73 views
1

供應商提供的內容需要插入到數據庫中。內容基本上是帶有選項和解釋的問題。下面是一個例子。從.doc或.docx讀取數據並插入db

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

1 )英國的首都是什麼?

1]倫敦2]巴黎3]柏林4]愛丁堡

解決方案:等等等等等等

回答:選項1

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

上述格式有數百個問題,供應商提供它在一個.doc或.docx格式。所有這些問題都需要輸入到數據庫中,我必須自動執行這個過程,以便從word doc中讀取數據並輸入到db中。

什麼是最好的方式去呢?我更喜歡使用C#,並且我已經有了接收自定義對象並將其插入到相關表中的代碼。現在我想要的只是閱讀文檔doc並填充這些對象。任何指針都會有幫助。

謝謝你的時間!

乾杯

回答

1

您需要引用和使用COM對象「Microsoft Word中x.x中對象庫」其中x.x代表取決於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();