熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C#實現從Word中提取指定單元格數據

2013-11-13 12:13:05  來源: .NET編程 

  最近在做一個項目其中有一個技術性的難題提取Word指定表格中的指定單元格的數據對於像我這樣一個僅僅對於C#語法略有了解的學生來說確實讓我感到有些力不從心這真是一個非常非常大的挑戰

  登錄google我檢索了相當多的文章從多的多行的代碼到少的不到行的代碼這些提取數據的方法基本上就那麼幾種這些人放在博客上基本上都是你copy我的我copy你的現在的有些作者很不負責拿來一段代碼就放上去了通覽這些代碼你會發現有些地方居然用到了作者自定義的類然而作者卻沒有提供給你這些類的實現方法這樣的作者很是氣人!還有些作者在自己的博客上狂貼了幾百行的代碼外加一個標題就完了代碼是什麼意思程序整個的實現流程是什麼樣子的說都不說這些代碼很多誰都懶得去看精辟的文章很少我百裡挑一經過幾個星期的查找和篩選終於整理出來一套可行的方案本文通過一個簡單的例子來揭示如何從Word的表格提取指定單元格數據的方法

  准備工作

  新建Word文檔docdoc繪制表格並且在表格中插入數據如下表
  界面設計及程序運行過程界面截圖
  說明通過打開按鈕打開文件(將文件路徑顯示在TextBox控件中)

  方法步驟

  在引用處引用MicrosoftOfficeInteropWord
  使用命名空間MicrosoftOfficeInteropWord和SystemReflection
  編寫打開按鈕代碼和讀取Word表格按鈕事件代碼

  因為主要部分在讀取Word表格按鈕事件代碼因此以下將分享最重要最核心的代碼

  private void ReadTable_Click(object sender EventArgs e)
  {
      ApplicationClass cls = null;
      Document doc = null;
 
      Table table = null;
      object missing = MissingValue;
      int rowIndex = colIndex = ;
 
     object path = fileNameText;
     cls = new ApplicationClass();

     try
     {
         doc = clsDocumentsOpen
             (ref path ref missing ref missing ref missing
             ref missing ref missing ref missing ref missing
             ref missing ref missing ref missing ref missing
             ref missing ref missingref missingref missing);
         table = docTables[];
         string text = tableCell(rowIndexcolIndex)RangeTextToString();
         text=textSubstring( textLength );    //去除尾部的mark
         textContentText = text;
         //textContentText =   
         MessageBoxShow(Congradulations);
     }
     catch (Exception ex)
     {
         MessageBoxShow(exMessage);
     }
     finally
     {
         if (doc != null)
             docClose(ref missing ref missing ref missing);
         clsQuit(ref missing ref missing ref missing);
     }
}


From:http://tw.wingwit.com/Article/program/net/201311/15425.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.