devilhand 发表于 2013-2-7 03:36:57

操作Excel的常用方法

using System;using System.Collections.Generic;using System.Text; using Excel = Microsoft.Office.Interop.Excel;using System.Diagnostics;using System.Windows.Forms;namespace OfficeManager{    public class ExcelClass : IDisposable    {      private Excel._Application m_ExcelApplication = null;      private Excel._Workbook m_Workbook = null;      public Excel._Worksheet m_Worksheet = null;      private object missing = System.Reflection.Missing.Value;      public ExcelClass()      {            if (m_ExcelApplication == null)            {                m_ExcelApplication = new Excel.ApplicationClass();            }      }      ~ExcelClass()      {            try            {                if (m_ExcelApplication != null)                  m_ExcelApplication.Quit();            }            catch (Exception ex)            {                Debug.Write(ex.ToString());            }      }      /// <summary>      /// 获取或设置当前工作表      /// </summary>      public int CurrentWorksheetIndex      {            set            {                if (value <= 0 || value > m_Workbook.Worksheets.Count)                  throw new Exception("索引超出范围");                else                {                  object index = value;                  m_Worksheet = m_Workbook.Worksheets as Excel._Worksheet;                }            }      }      /// <summary>      /// 打开一个Excel工作薄      /// </summary>      /// <param name="fileName"></param>      public void OpenWorkbook(string fileName)      {            m_Workbook = m_ExcelApplication.Workbooks.Open(fileName, missing, missing, missing, missing, missing,                missing, missing, missing, missing, missing, missing, missing, missing, missing);            if (m_Workbook.Worksheets.Count > 0)            {                object index = 1;                m_Worksheet = m_Workbook.Worksheets as Excel._Worksheet;            }      }      /// <summary>      /// 保存数据      /// </summary>      public void Save()      {            if (m_Workbook != null)            {                m_Workbook.Save();            }      }      /// <summary>      /// 关闭文档      /// </summary>      /// <param name="isSave"></param>      public void Close(bool isSave)      {            this.ClearClipboard();            object obj_Save = isSave;            if (m_Workbook != null)                m_Workbook.Close(obj_Save, missing, missing);      }      /// <summary>      /// 设置当前工作表中某单元格的值      /// </summary>      /// <param name="cellIndex"></param>      /// <param name="value"></param>      public void SetCellValue(string cellIndex, object value)      {            if (m_Worksheet != null)            {                object cell1 = cellIndex;                Excel.Range range = m_Worksheet.get_Range(cell1, missing);                if (range != null)                {                  range.Value2 = value;                }            }      }      /// <summary>      /// 合并单元格      /// </summary>      /// <param name="cellIndex1"></param>      /// <param name="cellIndex2"></param>      public void Merge(string cellIndex1, string cellIndex2)      {            if (m_Worksheet != null)            {                object cell1 = cellIndex1;                object cell2 = cellIndex2;                Excel.Range range = m_Worksheet.get_Range(cell1, cell2);                range.Merge(true);            }      }      /// <summary>      /// 将当前工作表中的表格数据复制到剪切板      /// </summary>      public void Copy()      {            if (m_Worksheet != null)            {                try                {                  m_Worksheet.UsedRange.Select();                }                catch { }                m_Worksheet.UsedRange.Copy(missing);            }      }      /// <summary>      /// 清空剪切板      /// </summary>      public void ClearClipboard()      {            Clipboard.Clear();      }      #region IDisposable 成员      public void Dispose()      {            try            {                if (m_ExcelApplication != null)                {                  this.Close(false);                  m_ExcelApplication.Quit();                  m_ExcelApplication = null;                }            }            catch (Exception ex)            {                Debug.Write(ex.ToString());            }      }      #endregion    }} 
页: [1]
查看完整版本: 操作Excel的常用方法