程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> Excel 二次開發系列(2): Excel 常用操作(創建、打開、讀取、寫入)

Excel 二次開發系列(2): Excel 常用操作(創建、打開、讀取、寫入)

編輯:.NET實例教程

一、再次說明:

  前面說到了,Excel 的編程模型,在此模型中,我們最注重的幾個對象是:

  ·         Application

  ·         Workbook

  ·         Worksheet

  ·         Range

  為更好地理解對象模型,在這裡重新引用 微軟的標准文檔說明(上次是以一篇博客為例):

  ·         Application 對象

  Excel Application 對象表示 Excel 應用程序本身。Application 對象公開了大量有關正在運行的應用程序、應用於該實例的選項以及在該實例中打開的當前用戶的對象的信息。

  說明:

  不應將 Excel 中 Application 對象的 EnableEvents 屬性設置為 false。將此屬性設置為 false 將阻止 Excel 引發任何事件,包括宿主控件的事件。

  ·         Workbook 對象

  Microsoft.OfficeOffice.Interop.Excel..::.Workbook 類表示 Excel 應用程序內的單個工作簿。

  通過提供 Microsoft.Office.Tools.Excel..::.Workbook 類(使用該類可以訪問 Workbooks 集合的所有成員)以及數據綁定功能和附加事件,Visual Studio Tools for Office 擴展了 Microsoft.Office.Interop.Excel..::.Workbook 類。

  ·         Worksheet 對象

  Microsoft.Office.Interop.Excel..::.Worksheet 對象是 Worksheets 集合的成員。Microsoft.Office.Interop.Excel..::.Worksheet 的許多屬性、方法和事件與 Application 或 Microsoft.Office.Interop.Excel..::.Workbook 類提供的成員完全相同或相似
Excel 提供 Sheets 集合作為 Microsoft.Office.Interop.Excel..::.Workbook 對象的屬性,但是 Excel 中沒有 Sheet 類。相反,Sheets 集合中的每個成員都是 Microsoft.Office.Interop.Excel..::.Worksheet 或 Microsoft.Office.Interop.Excel..::.Chart 對象。

  對於文檔級自定義項,Visual Studio Tools for Office 會在新的項目中提供一個 Microsoft.Office.Tools.Excel..::.Worksheet 宿主項,並創建三個實例:Sheet1、Sheet2 和 Sheet3。對其中任何工作表的訪問都可以通過 Globals 引用進行。Visual Studio Tools for Office 通過提供 Microsoft.Office.Tools.Excel..::.Worksheet 宿主項來擴展 Microsoft.Office.Interop.Excel..::.Worksheet 對象。

  ·         Range 對象

  Microsoft.Office.Interop.Excel..::.Range 對象是 Excel 應用程序中最常用的對象。在能夠處理 Excel 內的任何范圍之前,必須將它表示為 Range 對象,並處理該對象的方法和屬性。Range 對象表示一個單元格、一行、一列、包含一個或多個單元格塊(可以連續,也可以不連續)的單元格選定范圍,甚至多個工作表中的一組單元格。

  二、一般操作方法:

  利用上面的對象就好操作 Excel了:

  //首先注意命名空間:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.XML.Linq;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Interop.Excel;
using System.Reflection;
          //創建Application對象             
            Excel.Application xApp = new Excel.ApplicationClass();
            xApp.Visible = true;
            //得到WorkBook對象, 下面的是打開已有的文件 
            Excel.Workbook xBook = xApp.Workbooks._Open(@"D:\Tomin.xls",
            Missing.Value, Missing.Value, Missing.Value, Missing.Value
            , Missing.Value, Missing.Value, Missing.Value, Missing.Value
            , Missing.Value, Missing.Value, Missing.Value, Missing.Value);
           
            //指定要操作的Sheet,兩種方式: 
            Excel.Worksheet xSheet = (Excel.Worksheet)xBook.Sheets[1];
            //Excel.Worksheet xSheet=(Excel.Worksheet)xApp.ActiveSheet; 
            //讀取數據,通過Range對象 
            Excel.Range rng1 = xSheet.get_Range("A1", Type.Missing);// Type.Missing 也可
以用 Missing.Value
            Console.WriteLine(rng1.Value2);
            //讀取,通過Range對象,但使用不同的接口得到Range 
            Excel.Range rng2 = (Excel.Range)xSheet.Cells[3, 1];
            Console.WriteLine(rng2.Value2);
            //寫入數據 
            Excel.Range rng3 = xSheet.get_Range("C6", Missing.Value);
            rng3.Value2 = "Hello";
            rng3.Interior.ColorIndex = 6; //設置Range的背景色 
            //保存方式一:保存WorkBook 
            xBook.SaveAs(@"D:\Tomin.xls",
            Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
            Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value,
            Missing.Value, Missing.Value);
            //保存方式二:保存WorkSheet 
            xSheet.SaveAs(@"D:\Tomin.xls",
            Missing.Value, Missing.Value, Missing.Value, Missing.Value,
            Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

            //保存方式三 
            xBook.Save();
            // 保存方式四
            xBook.Close(true, @"D:\Tomin.xls", Missing.Value);    
            xSheet = null;
            xBook = null;
            xApp.Quit(); //這一句是非常重要的,否則Excel對象不能從內存中退出 
            xApp = null;


  以上是一些常用的Excel 操作方法,有了這些方法,就可以很好的去進行Excel的開發了

本文作者:未知

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved