一聚教程网:一个值得你收藏的教程网站

最新下载

Asp.Net(C#)使用oleDbConnection 连接Excel的方法

时间:2018-11-12 14:44:13 编辑:猪哥 来源:转载

Asp.Net(C#)使用oleDbConnection 连接Excel

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/MyExcel.xls;Extended Properties= "Excel 8.0;HDR=Yes;IMEX=1"

针对如果上连接字符串 对相关属性进行说明如下:"HDR=Yes;”指示第一行中包含列名,而不是数据,"IMEX=1;”通知驱动程序始终将“互混”数据列作为文本读取。Excel 8.0 针对Excel2000及以上版本,Excel5.0 针对Excel97。

using System.Data.OleDb;
using System.Data;

String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=c:/test.xls;" +
"Extended Properties=Excel 8.0;";
OleDbConnection objConn = new OleDbConnection(sConnectionString);
objConn.Open();
OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM [sheet1]", objConn);
OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
objAdapter1.SelectCommand = objCmdSelect;
DataSet objDataset1 = new DataSet();
//将Excel中数据填充到数据集
objAdapter1.Fill(objDataset1, "XLData");
objConn.Close();

从上面可以看出,使用ADO.NET可将Excel当作普通数据库,使用SQL语句来操作。

通过ADO.NET获取Excel文件的各Sheet名称,可使用元数据方式:

String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=c:/test.xls;" +
"Extended Properties=Excel 8.0;";
OleDbConnection cn = new OleDbConnection(sConnectionString);
cn.Open();
DataTable tb = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
foreach (DataRow row in tb.Rows)
{
//遍历弹出各Sheet的名称
MessageBox.Show(row["TABLE_NAME"]);
}

关于使用ADO.NET创建并写入Excel文件与普通数据库操作极为类似,参见以下代码:

String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=c:/test.xls;" +
"Extended Properties=Excel 8.0;";
OleDbConnection cn = new OleDbConnection(sConnectionString);
string sqlCreate = "CREATE TABLE TestSheet ([ID] INTEGER,[Username] VarChar,[UserPwd] VarChar)";
OleDbCommand cmd = new OleDbCommand(sqlCreate, cn);
//创建Excel文件:C:/test.xls
cn.Open();
//创建TestSheet工作表
cmd.ExecuteNonQuery();
//添加数据
cmd.CommandText = "INSERT INTO TestSheet VALUES(1,'elmer','password')";
cmd.ExecuteNonQuery();
//关闭连接
cn.Close();

文章评论

热门栏目

马会一码爆料 大方县| 苍溪县| 精河县| 安达市| 清苑县| 浪卡子县| 深州市| 临猗县| 开封市| 衡东县| 武宁县| 郸城县| 湛江市| 闽清县| 建阳市| 台北县| 河池市| 徐水县| 营口市| 无为县| 清丰县| 海晏县| 高阳县| 读书| 青阳县| 新源县| http://www.ksrqhz.cn 濮阳县| 石阡县| 蒙山县| 涟源市| 鹤岗市| 祥云县| 崇信县| 甘洛县| 河南省| 永清县| 茌平县| 武山县| 石林| 富源县| 遂川县| 凭祥市| 四会市| 锡林浩特市| 湘乡市| 静海县| 裕民县| 永定县| 普兰县| 济阳县| 广西| 平潭县| 调兵山市| 无棣县| 泽库县| http://hmbydu.cn 大英县| 惠东县| 乐陵市| 工布江达县| 祁连县| 浏阳市| 陈巴尔虎旗| 武功县| 兴隆县| 虞城县| 若羌县| 临潭县| 阿城市| 靖远县| 威宁| 瑞昌市| 台东县| 万源市| 上虞市| 聂拉木县| 溧阳市| 夹江县| 乌恰县| 韩城市| 曲麻莱县| 汉寿县| 凤阳县| 宁蒗| 尼勒克县| 揭东县| 右玉县| 崇左市| 襄城县| 富民县| http://hfnspy.cn 德兴市| 平凉市| 洞口县| 樟树市| 叙永县| 青冈县| 偃师市| 麻栗坡县| 兰西县| 宜宾县| 肥乡县| 伊金霍洛旗| 义马市| 金寨县| 鄂伦春自治旗| 华阴市| 永善县| 永丰县| 南木林县| 河曲县| 怀柔区| 横山县| 绥化市| 邵阳市| 连州市| 铜梁县| 眉山市| 双牌县| 北安市| http://izicwq.cn 白玉县| 宝应县| 长白| 依兰县| 郸城县| 商南县| 武清区| 扶余县| 昭平县| 潼关县| 汕头市| 获嘉县| 唐山市| 金秀| 通榆县| 扶余县| 大城县| 虞城县| 三原县| 耿马| 安宁市| 荥阳市| 冀州市| 察哈| 汕尾市| 万盛区| 伽师县| 商丘市| 遵化市| http://qsjqur.cn 隆德县| 大兴区| 丰原市| 噶尔县| 沧源| 定陶县| 时尚| 呼伦贝尔市| 竹溪县| 靖边县| 文山县| 新河县| 凤庆县| 清水县| 青州市| 临西县| 平谷区| 嘉荫县| 庆元县| 鞍山市| 六盘水市| 衡阳县| 盐城市| 衡水市| 吴川市| 琼中| 德州市| 叶城县| http://www.ypzcpt.cn 白城市| 阿拉善右旗| 平利县| 沅江市| 台山市| 抚顺县| 平谷区| 泸西县| 获嘉县| 汝城县| 江达县| 华坪县| 巴塘县| 迁西县| 惠安县| 广东省| 印江|