博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#常用工具类——Excel操作类
阅读量:6088 次
发布时间:2019-06-20

本文共 9999 字,大约阅读时间需要 33 分钟。

/// 常用工具类——Excel操作类    /// 
 ------------------------------------------------
///
 CreateConnection:根据Excel文件路径和EXCEL驱动版本生成OleConnection对象实例
///
 ExecuteDataSet:执行一条SQL语句,返回一个DataSet对象
///
 ExecuteDataTable:执行一条SQL语句,返回一个DataTable对象
///
 ExecuteDataAdapter:表示一组数据命令和一个数据库连接,它们用于填充 DataSet 和更新数据源。
///
 ExecuteNonQuery:执行数据库语句返回受影响的行数,失败或异常返回-1[通常为:INSERT、DELETE、UPDATE 和 SET 语句等命令]。
///
 ExecuteScalar:执行数据库语句返回第一行第一列,失败或异常返回null
///
 ExecuteDataReader:执行数据库语句返回一个自进结果集流
///
 GetWorkBookName:获取Excel中的所有工作簿
using System;using System.Configuration;using System.Web;using System.Data;using System.Data.OleDb;using System.Data.SqlClient; namespace Utils{ /// ///
 
/// 常用工具类——Excel操作类 ///
 ------------------------------------------------
///
 CreateConnection:根据Excel文件路径和EXCEL驱动版本生成OleConnection对象实例
///
 ExecuteDataSet:执行一条SQL语句,返回一个DataSet对象
///
 ExecuteDataTable:执行一条SQL语句,返回一个DataTable对象
///
 ExecuteDataAdapter:表示一组数据命令和一个数据库连接,它们用于填充 DataSet 和更新数据源。
///
 ExecuteNonQuery:执行数据库语句返回受影响的行数,失败或异常返回-1[通常为:INSERT、DELETE、UPDATE 和 SET 语句等命令]。
///
 ExecuteScalar:执行数据库语句返回第一行第一列,失败或异常返回null
///
 ExecuteDataReader:执行数据库语句返回一个自进结果集流
///
 GetWorkBookName:获取Excel中的所有工作簿
///
public class ExcelHelper { private ExcelHelper() { } #region EXCEL版本 /// /// EXCEL版本 /// public enum ExcelVerion { /// /// Excel97-2003版本 /// Excel2003, /// /// Excel2007版本 /// Excel2007 } #endregion #region 根据EXCEL路径生成OleDbConnectin对象 /// /// 根据EXCEL路径生成OleDbConnectin对象 /// /// EXCEL文件相对于站点根目录的路径 /// Excel数据驱动版本:97-2003或2007,分别需要安装数据驱动软件 ///
OleDbConnection对象
public static OleDbConnection CreateConnection(string ExcelFilePath,ExcelVerion Verion) { OleDbConnection Connection = null; string strConnection = string.Empty; try { switch (Verion) { case ExcelVerion.Excel2003: //读取Excel97-2003版本 strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; " +"Data Source=" + HttpContext.Current.Server.MapPath(ExcelFilePath) + ";Extended Properties=Excel 8.0"; break; case ExcelVerion.Excel2007: //读取Excel2007版本 strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties='Excel 12.0;HDR=YES';data source=" + ExcelFilePath; break; } if(!string.IsNullOrEmpty(strConnection)) Connection = new OleDbConnection(strConnection); } catch (Exception) { } return Connection; } #endregion #region 创建一个OleDbCommand对象实例 /// /// 创建一个OleDbCommand对象实例 /// /// SQL命令 /// 数据库连接对象实例OleDbConnection /// 可选参数 ///
private static OleDbCommand CreateCommand(string CommandText, OleDbConnection Connection, params System.Data.OleDb.OleDbParameter[] OleDbParameters) { if (Connection.State == ConnectionState.Closed) Connection.Open(); OleDbCommand comm = new OleDbCommand(CommandText, Connection); if (OleDbParameters != null) { foreach (OleDbParameter parm in OleDbParameters) { comm.Parameters.Add(parm); } } return comm; } #endregion #region 执行一条SQL语句,返回一个DataSet对象 /// /// 执行一条SQL语句,返回一个DataSet对象 /// /// OleDbConnection对象 /// SQL语句 /// OleDbParameter可选参数 ///
DataSet对象
public static DataSet ExecuteDataSet(OleDbConnection Connection, string CommandText, params OleDbParameter[] OleDbParameters) { DataSet ds = new DataSet(); try { OleDbCommand comm = CreateCommand(CommandText, Connection, OleDbParameters); OleDbDataAdapter da = new OleDbDataAdapter(comm); da.Fill(ds); } catch (Exception) { } finally { if (Connection.State == ConnectionState.Open) Connection.Close(); } return ds; } #endregion #region 执行一条SQL语句,返回一个DataTable对象 /// /// 执行一条SQL语句,返回一个DataTable对象 /// /// OleDbConnection对象 /// SQL语句 /// OleDbParameter可选参数 ///
DataSet对象
public static DataTable ExecuteDataTable(OleDbConnection Connection, string CommandText, params OleDbParameter[] OleDbParameters) { DataTable Dt = null; try { OleDbCommand comm = CreateCommand(CommandText, Connection, OleDbParameters); OleDbDataAdapter da = new OleDbDataAdapter(comm); DataSet Ds = new DataSet(); da.Fill(Ds); Dt = Ds.Tables[0]; } catch (Exception) { } finally { if (Connection.State == ConnectionState.Open) Connection.Close(); } return Dt; } #endregion #region 表示一组数据命令和一个数据库连接,它们用于填充 DataSet 和更新数据源。 /// /// 表示一组数据命令和一个数据库连接,它们用于填充 DataSet 和更新数据源。 /// /// OleDbConnection对象 /// SQL语句 /// OleDbParameter可选参数 ///
public static OleDbDataAdapter ExecuteDataAdapter(OleDbConnection Connection, string CommandText, params System.Data.OleDb.OleDbParameter[] OleDbParameters) { OleDbDataAdapter Da = null; try { OleDbCommand comm = CreateCommand(CommandText, Connection, OleDbParameters); Da = new OleDbDataAdapter(comm); OleDbCommandBuilder cb = new OleDbCommandBuilder(Da); } catch (Exception) { } finally { if (Connection.State == ConnectionState.Open) Connection.Close(); } return Da; } #endregion #region 执行数据库语句返回受影响的行数,失败或异常返回-1[通常为:INSERT、DELETE、UPDATE 和 SET 语句等命令]。 /// /// 执行数据库语句返回受影响的行数,失败或异常返回-1[通常为:INSERT、DELETE、UPDATE 和 SET 语句等命令]。 /// /// OleDbConnection对象 /// SQL语句 /// OleDbParameter可选参数 ///
受影响的行数
public static int ExecuteNonQuery(OleDbConnection Connection, string CommandText, params System.Data.OleDb.OleDbParameter[] OleDbParameters) { int i = -1; try { if (Connection.State == ConnectionState.Closed) Connection.Open(); OleDbCommand comm = CreateCommand(CommandText, Connection, OleDbParameters); i = comm.ExecuteNonQuery(); } catch (Exception) { } finally { if (Connection.State == ConnectionState.Open) Connection.Close(); } return i; } #endregion #region 执行数据库语句返回第一行第一列,失败或异常返回null /// /// 执行数据库语句返回第一行第一列,失败或异常返回null /// /// OleDbConnection对象 /// SQL语句 /// OleDbParameter可选参数 ///
第一行第一列的值
public static object ExecuteScalar(OleDbConnection Connection, string CommandText, params System.Data.OleDb.OleDbParameter[] OleDbParameters) { object Result = null; try { OleDbCommand comm = CreateCommand(CommandText, Connection, OleDbParameters); Result = comm.ExecuteScalar(); } catch (Exception) { } finally { if (Connection.State == ConnectionState.Open) Connection.Close(); } return Result; } #endregion #region 执行数据库语句返回一个自进结果集流 /// /// 执行数据库语句返回一个自进结果集流 /// /// OleDbConnection对象 /// SQL语句 /// OleDbParameter可选参数 ///
DataReader对象
public static OleDbDataReader ExecuteDataReader(OleDbConnection Connection, string CommandText, params System.Data.OleDb.OleDbParameter[] OleDbParameters) { OleDbDataReader Odr = null; try { OleDbCommand comm = CreateCommand(CommandText, Connection, OleDbParameters); Odr = comm.ExecuteReader(); } catch (Exception) { } finally { if (Connection.State == ConnectionState.Open) Connection.Close(); } return Odr; } #endregion #region 获取Excel中的所有工作簿 /// /// 获取Excel中的所有工作簿 /// /// OleDbConnection对象 ///
public static DataTable GetWorkBookName(OleDbConnection Connection) { DataTable Dt = null; try { if (Connection.State == ConnectionState.Closed) Connection.Open(); Dt = Connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); } catch (Exception) { } finally { if (Connection.State == ConnectionState.Open) Connection.Close(); } return Dt; } #endregion }}

  

转载地址:http://mtpwa.baihongyu.com/

你可能感兴趣的文章
iphone openssh
查看>>
Linux下MEncoder的编译
查看>>
spark高级排序彻底解秘
查看>>
ylbtech-LanguageSamples-PartialTypes(部分类型)
查看>>
福建省促进大数据发展:变分散式管理为统筹集中式管理
查看>>
开发环境、生产环境、测试环境的基本理解和区别
查看>>
tomcat多应用之间如何共享jar
查看>>
Flex前后台交互,service层调用后台服务的简单封装
查看>>
MySQL入门12-数据类型
查看>>
Windows Azure 保留已存在的虚拟网络外网IP(云服务)
查看>>
修改字符集
查看>>
HackTheGame 攻略 - 第四关
查看>>
js删除数组元素
查看>>
带空格文件名的处理(find xargs grep ..etc)
查看>>
华为Access、Hybrid和Trunk的区别和设置
查看>>
centos使用docker下安装mysql并配置、nginx
查看>>
关于HTML5的理解
查看>>
需要学的东西
查看>>
Internet Message Access Protocol --- IMAP协议
查看>>
Linux 获取文件夹下的所有文件
查看>>