c# Excel編程中的幾個問題

來源:互聯網
上載者:User

1、在編程的時候,有時會用Worksheets 介面,有時又會用Sheets介面,那麼他們出現的場合分別在什麼條件下?有怎麼的區別?

answer:   worksheets是指你當前非活動表,而sheets是當前活動表,每個是Sheet是一個活頁簿,各個sheet就構成了 sheets,也就是工作表了。如果你同時開啟book1和book2,但你對book1進行操作的時候,book1所屬的就可以寫sheets,而book2就是worksheets。

另一種解釋是,Sheets是活動的workbook中sheets的集合,而Worksheets是活動的workbook中Worksheet對象的集合,每個Worksheet對象代表一個worksheet。

2、_workbook與workbook,在Excel的編程中多用_workbook,但workbook是存在的,二者有何區別

事實上兩者之間沒有太大區別,兩者都是介面,workbook繼承了_worbook,同時也繼承了WorkbookEvents_Event,提供了訪問workbook事件的能力

即publicinterfaceWorksheet:
_Worksheet,DocEvents_Event 
3、Excel 操作常用的變數

    private Excel.Application m_objExcel = null;  //Excel進程
    private Excel.Workbooks m_objBooks = null; //活頁簿集合
    private Excel._Workbook m_objBook = null;   //當前活動的活頁簿
    private Excel.Sheets m_objSheets = null;      //工作表的集合
    private Excel._Worksheet m_objSheet = null;  //當前活動的工作表
    private Excel.Range m_objRange = null;          //代表一塊地區,即範圍
    private object m_objOpt = System.Reflection.Missing.Value;   //使用Missing 類的此執行個體來表示缺少的值,例如,當您調用具有預設參數值的方法時

 

各變數賦值

     m_objExcel = new Excel.Application();
      m_objExcel.Visible = false;
      m_objExcel.DisplayAlerts = false;

      if (m_objExcel.Version != "11.0")
      {
        MessageBox.Show("您的 Excel 版本不是 11.0 (Office 2003),操作可能會出現問題。");
        m_objExcel.Quit();
        return;
      }

      m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;
      if (TemplateFilePath.Equals(String.Empty))
      {
        m_objBook = (Excel._Workbook)(m_objBooks.Add(m_objOpt));
      }
      else
      {
        m_objBook = m_objBooks.Open(TemplateFilePath, m_objOpt, m_objOpt, m_objOpt, m_objOpt,
          m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt);
      }
      m_objSheets = (Excel.Sheets)m_objBook.Worksheets;
      m_objSheet = (Excel._Worksheet)(m_objSheets.get_Item(1));

 

4、Excel物件模型http://msdn.microsoft.com/zh-cn/library/wss56bz7.aspx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.