C# Excel操作类

时间:2021-02-13 21:41:06

/// 常用工具类——Excel操作类

/// <para> ------------------------------------------------</para>

/// <para> CreateConnection:根据Excel文件路径和EXCEL驱动版本生成OleConnection对象实例</para>

/// <para> ExecuteDataSet:执行一条SQL语句,返回一个DataSet对象</para>

/// <para> ExecuteDataTable:执行一条SQL语句,返回一个DataTable对象</para>

/// <para> ExecuteDataAdapter:表示一组数据命令和一个数据库连接,它们用于填充 DataSet 和更新数据源。</para>

/// <para> ExecuteNonQuery:执行数据库语句返回受影响的行数,失败或异常返回-1[通常为:INSERT、DELETE、UPDATE 和 SET 语句等命令]。</para>

/// <para> ExecuteScalar:执行数据库语句返回第一行第一列,失败或异常返回null</para>

/// <para> ExecuteDataReader:执行数据库语句返回一个自进结果集流</para>

/// <para> GetWorkBookName:获取Excel中的所有工作簿</para>

using Microsoft.Office.Core;

using Microsoft.Office.Interop.Excel;

using System.IO;

using System.Reflection;

namespace exConAccess {

/// <summary>

/// <para> </para>

/// 常用工具类——Excel操作类

/// <para> ------------------------------------------------</para>

/// <para> CreateConnection:根据Excel文件路径和EXCEL驱动版本生成OleConnection对象实例</para>

/// <para> ExecuteDataSet:执行一条SQL语句,返回一个DataSet对象</para>

/// <para> ExecuteDataTable:执行一条SQL语句,返回一个DataTable对象</para>

/// <para> ExecuteDataAdapter:表示一组数据命令和一个数据库连接,它们用于填充 DataSet 和更新数据源。</para>

/// <para> ExecuteNonQuery:执行数据库语句返回受影响的行数,失败或异常返回-1[通常为:INSERT、DELETE、UPDATE 和 SET 语句等命令]。</para>

/// <para> ExecuteScalar:执行数据库语句返回第一行第一列,失败或异常返回null</para>

/// <para> ExecuteDataReader:执行数据库语句返回一个自进结果集流</para>

/// <para> GetWorkBookName:获取Excel中的所有工作簿</para>

/// </summary>

public class ExcelHelper     {         private Application app;         private Workbooks wbks;         private _Workbook _wbk;         private _Worksheet _wsh;

public void openExcel(string excelPath, int sheetIndex)         {             app = new Application();             wbks = app.Workbooks;             _wbk = wbks.Add(excelPath);             Sheets shs = _wbk.Sheets;             _wsh = (_Worksheet)shs.get_Item(sheetIndex);         }

public Range getObj(int rowIndex, int columnIndex)         {

Range rng = _wsh.Cells[rowIndex, columnIndex];             return rng;         }

public void closeExcel()         {             _wbk.Close(null, null, null);             wbks.Close();             app.Quit();             //释放掉多余的excel进程             System.Runtime.InteropServices.Marshal.ReleaseComObject(app);             app = null;         }     }

}