亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

asp.net中操作Excel助手相關代碼

2024-07-10 13:25:20
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:


public partial class ExcelHelper : IDisposable
{
#region Fileds
private string _excelObject = "Provider=Microsoft.{0}.OLEDB.{1};Data Source={2};Extended Properties=/"Excel {3};HDR={4};IMEX={5}/"";
private string _filepath = string.Empty;
private string _hdr = "No";
private string _imex = "1";
private OleDbConnection _con = null;
#endregion
#region Ctor
public ExcelHelper(string filePath)
{
this._filepath = filePath;
}
#endregion
#region Properties
/// <summary>
/// 獲取連接字符串
/// </summary>
public string ConnectionString
{
get
{
string result = string.Empty;
if (String.IsNullOrEmpty(this._filepath))
return result;
//檢查文件格式
FileInfo fi = new FileInfo(this._filepath);
if (fi.Extension.Equals(".xls"))
{
result = string.Format(this._excelObject, "Jet", "4.0", this._filepath, "8.0", this._hdr, this._imex);
}
else if (fi.Extension.Equals(".xlsx"))
{
result = string.Format(this._excelObject, "Ace", "12.0", this._filepath, "12.0", this._hdr, this._imex);
}
return result;
}
}
/// <summary>
/// 獲取連接
/// </summary>
public OleDbConnection Connection
{
get
{
if (_con == null)
{
this._con = new OleDbConnection();
this._con.ConnectionString = this.ConnectionString;
}
return this._con;
}
}
/// <summary>
/// HDR
/// </summary>
public string Hdr
{
get { return this._hdr; }
set { this._hdr = value; }
}
/// <summary>
/// IMEX
/// </summary>
public string Imex
{
get { return this._imex; }
set { this._imex = value; }
}
#endregion
#region Methods
/// <summary>
/// Gets a schema
/// </summary>
/// <returns>Schema</returns>
public DataTable GetSchema()
{
DataTable dtSchema = null;
if (this.Connection.State != ConnectionState.Open) this.Connection.Open();
dtSchema = this.Connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
return dtSchema;
}
private string GetTableName()
{
string tableName = string.Empty;
DataTable dt = GetSchema();
for (int i = 0; i < dt.Rows.Count; i++)
{
tableName += dt.Rows[i][2].ToString().Trim();
}
return tableName.Substring(0, tableName.Length - 1);
}
public DataTable ReadTable()
{
return this.ReadTable(GetTableName(), ExcelHelperReadTableMode.ReadFromWorkSheet);
}
/// <summary>
/// Read all table rows
/// </summary>
/// <param>Table Name</param>
/// <returns>Table</returns>
public DataTable ReadTable(string tableName)
{
return this.ReadTable(tableName, ExcelHelperReadTableMode.ReadFromWorkSheet);
}
/// <summary>
/// Read table
/// </summary>
/// <param>Table Name</param>
/// <param>Read mode</param>
/// <returns>Table</returns>
public DataTable ReadTable(string tableName, ExcelHelperReadTableMode mode)
{
return this.ReadTable(tableName, mode, "");
}
/// <summary>
/// Read table
/// </summary>
/// <param>Table Name</param>
/// <param>Read mode</param>
/// <param>Criteria</param>
/// <returns>Table</returns>
public DataTable ReadTable(string tableName, ExcelHelperReadTableMode mode, string criteria)
{
if (this.Connection.State != ConnectionState.Open)
{
this.Connection.Open();
}
string cmdText = "Select * From [{0}]";
if (!string.IsNullOrEmpty(criteria))
{
cmdText += " Where " + criteria;
}
string tableNameSuffix = string.Empty;
if (mode == ExcelHelperReadTableMode.ReadFromWorkSheet)
tableNameSuffix = "$";
OleDbCommand cmd = new OleDbCommand(string.Format(cmdText, tableName + tableNameSuffix));
cmd.Connection = this.Connection;
OleDbDataAdapter adpt = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
adpt.Fill(ds, tableName);
if (ds.Tables.Count >= 1)
{
return ds.Tables[0];
}
else
{
return null;
}
}

/// <summary>
/// Drop table
/// </summary>
/// <param>Table Name</param>
public void DropTable(string tableName)
{
if (this.Connection.State != ConnectionState.Open)
{
this.Connection.Open();
}
string cmdText = "Drop Table [{0}]";
using (OleDbCommand cmd = new OleDbCommand(string.Format(cmdText, tableName), this.Connection))
{
cmd.ExecuteNonQuery();
}
this.Connection.Close();
}
/// <summary>
/// Write table
/// </summary>
/// <param>Table Name</param>
/// <param>Table Definition</param>
public void WriteTable(string tableName, Dictionary<string, string> tableDefinition)
{
using (OleDbCommand cmd = new OleDbCommand(this.GenerateCreateTable(tableName, tableDefinition), this.Connection))
{
if (this.Connection.State != ConnectionState.Open) this.Connection.Open();
cmd.ExecuteNonQuery();
}
}
/// <summary>
/// Add new row
/// </summary>
/// <param>Data Row</param>
public void AddNewRow(DataRow dr)
{
string command = this.GenerateInsertStatement(dr);
ExecuteCommand(command);
}
/// <summary>
/// Execute new command
/// </summary>
/// <param>Command</param>
public void ExecuteCommand(string command)
{
using (OleDbCommand cmd = new OleDbCommand(command, this.Connection))
{
if (this.Connection.State != ConnectionState.Open) this.Connection.Open();
cmd.ExecuteNonQuery();
}
}
/// <summary>
/// Generates create table script
/// </summary>
/// <param>Table Name</param>
/// <param>Table Definition</param>
/// <returns>Create table script</returns>
private string GenerateCreateTable(string tableName, Dictionary<string, string> tableDefinition)
{
StringBuilder sb = new StringBuilder();
bool firstcol = true;
sb.AppendFormat("CREATE TABLE [{0}](", tableName);
firstcol = true;
foreach (KeyValuePair<string, string> keyvalue in tableDefinition)
{
if (!firstcol)
{
sb.Append(",");
}
firstcol = false;
sb.AppendFormat("{0} {1}", keyvalue.Key, keyvalue.Value);
}
sb.Append(")");
return sb.ToString();
}
/// <summary>
/// Generates insert statement script
/// </summary>
/// <param>Data row</param>
/// <returns>Insert statement script</returns>
private string GenerateInsertStatement(DataRow dr)
{
StringBuilder sb = new StringBuilder();
bool firstcol = true;
sb.AppendFormat("INSERT INTO [{0}](", dr.Table.TableName);

foreach (DataColumn dc in dr.Table.Columns)
{
if (!firstcol)
{
sb.Append(",");
}
firstcol = false;
sb.Append(dc.Caption);
}
sb.Append(") VALUES(");
firstcol = true;
for (int i = 0; i <= dr.Table.Columns.Count - 1; i++)
{
if (!object.ReferenceEquals(dr.Table.Columns[i].DataType, typeof(int)))
{
sb.Append("'");
sb.Append(dr[i].ToString().Replace("'", "''"));
sb.Append("'");
}
else
{
sb.Append(dr[i].ToString().Replace("'", "''"));
}
if (i != dr.Table.Columns.Count - 1)
{
sb.Append(",");
}
}
sb.Append(")");
return sb.ToString();
}
/// <summary>
/// Dispose [實現IDispose接口]
/// </summary>
public void Dispose()
{
if (this._con != null && this._con.State == ConnectionState.Open)
this._con.Close();
if (this._con != null)
this._con.Dispose();
this._con = null;
this._filepath = string.Empty;
}
#endregion
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品男人的天堂| 日韩一区av在线| 久久久伊人欧美| 欧美午夜视频在线观看| 亚洲国产精品va在线看黑人动漫| 国产亚洲成av人片在线观看桃| 国产91ⅴ在线精品免费观看| 精品国产精品自拍| 91久久精品美女| 亚洲淫片在线视频| 美女性感视频久久久| 中文字幕在线观看日韩| 久久九九精品99国产精品| 国产精品视频专区| 成人免费高清完整版在线观看| 九色精品美女在线| 国产精品夫妻激情| 欧美又大又硬又粗bbbbb| 亚洲欧美综合区自拍另类| 91精品国产综合久久香蕉922| 成人444kkkk在线观看| 亚洲欧美日韩国产中文专区| 国产精品视频网站| 亚洲va国产va天堂va久久| 97在线观看视频| 国产精品网红直播| 影音先锋欧美精品| …久久精品99久久香蕉国产| 久久免费视频在线| 亚洲精选中文字幕| 国产一级揄自揄精品视频| 久久久久久国产三级电影| 欧美大荫蒂xxx| 国产精品一区二区av影院萌芽| 久久精品视频在线播放| 亚洲成色777777在线观看影院| 亚洲天堂av综合网| 欧美夜福利tv在线| 少妇高潮久久77777| 成人黄色免费看| 久久伊人精品天天| 国产精品成人国产乱一区| 亚洲国产97在线精品一区| 国产日韩综合一区二区性色av| 色伦专区97中文字幕| 日韩欧美aⅴ综合网站发布| 亚洲国产精品电影| 亚洲第一免费网站| 久久精品91久久久久久再现| 久久久久久久影院| 96国产粉嫩美女| 欧美理论片在线观看| 精品人伦一区二区三区蜜桃免费| 国精产品一区一区三区有限在线| 亚洲欧洲日本专区| 2019中文在线观看| 中文字幕日韩在线播放| 亚洲欧洲自拍偷拍| 亚洲欧美在线免费| 国产精品女主播视频| 国产精品狠色婷| 精品久久香蕉国产线看观看亚洲| 国产精品一区二区女厕厕| 欧美贵妇videos办公室| 色偷偷偷综合中文字幕;dd| 日韩精品极品在线观看播放免费视频| 国产精品网红福利| 亚洲色图综合网| 日韩成人性视频| 国产婷婷色综合av蜜臀av| 韩国欧美亚洲国产| 欧美午夜视频在线观看| 欧美视频国产精品| 精品动漫一区二区三区| 日韩av免费在线播放| 日本成熟性欧美| 欧美一级免费视频| 成人深夜直播免费观看| 成人国产精品久久久| 国产主播精品在线| 日韩成人中文字幕| 亚洲午夜女主播在线直播| 在线精品国产成人综合| 久久噜噜噜精品国产亚洲综合| 成人精品一区二区三区电影黑人| 精品福利视频导航| 91精品国产91久久久久福利| 亚洲欧洲免费视频| 日本aⅴ大伊香蕉精品视频| 亚洲v日韩v综合v精品v| 国产精品麻豆va在线播放| 国产成人激情视频| 亚洲精品国产综合区久久久久久久| 这里只有精品视频在线| 26uuu日韩精品一区二区| 日韩在线视频网| 久久精品国产一区二区三区| 日韩av综合中文字幕| 中文字幕亚洲欧美日韩2019| 亚洲国产精品成人一区二区| 日本欧美一级片| 国产精品久久久久久久久影视| 国内精品久久久久伊人av| 欧美一性一乱一交一视频| 九九久久久久久久久激情| 久久久久亚洲精品国产| 国产人妖伪娘一区91| 久久精品国产99国产精品澳门| 日韩经典中文字幕| 亚洲sss综合天堂久久| 国产91在线播放| 欧美视频在线免费| 九九热r在线视频精品| 国产精品入口尤物| 国产精品v片在线观看不卡| 国产欧美日韩中文字幕在线| 91中文字幕在线观看| 欧美日韩亚洲精品一区二区三区| 亚洲性夜色噜噜噜7777| 亚洲最大av在线| 欧美极品欧美精品欧美视频| 国产精品自产拍在线观看中文| 亚洲综合中文字幕68页| 国产不卡av在线免费观看| 国产成人福利网站| 欧美一级大胆视频| 97免费在线视频| 国产精品一区二区久久精品| 久久91超碰青草是什么| 欧美国产日本高清在线| 精品视频偷偷看在线观看| 成人黄色在线观看| 精品欧美国产一区二区三区| 日韩视频在线观看免费| 最近更新的2019中文字幕| 91精品国产综合久久久久久蜜臀| 欧美华人在线视频| 欧美精品久久久久久久| 亚洲最新视频在线| 成人精品久久久| 国产精品久久久久久久久久久不卡| 欧美在线xxx| 青草青草久热精品视频在线观看| 久久久久成人精品| 日韩av影视综合网| 亚洲第一页在线| 欧美亚洲国产视频| 91精品在线播放| 91夜夜揉人人捏人人添红杏| 欧美激情精品久久久久久黑人| 亚洲精品99999| 亚洲欧美激情精品一区二区| 91产国在线观看动作片喷水| www.欧美三级电影.com| 中文日韩电影网站| 中文字幕在线国产精品| 亚洲人成伊人成综合网久久久| 国产成人精品亚洲精品| 久久精品国产亚洲精品| 92福利视频午夜1000合集在线观看| 疯狂做受xxxx欧美肥白少妇| 国产精品h在线观看| 日韩免费av一区二区| 91精品国产九九九久久久亚洲|