/// 常用工具类——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; } }
}