欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > C# >内容正文

C#

c# oldb连接_如何使用C#中的OleDbConnection 连接读取Excel?

发布时间:2025/3/17 C# 45 豆豆
生活随笔 收集整理的这篇文章主要介绍了 c# oldb连接_如何使用C#中的OleDbConnection 连接读取Excel? 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

如何使用C#中的OleDbConnection 连接读取Excel?

发布时间:2020-07-11 15:12:06

来源:亿速云

阅读:114

这篇文章将为大家详细讲解有关如何使用C#中的OleDbConnection 连接读取Excel?,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。///

/// 读取Excel中数据

///

///

///

///

public static DataTable GetExcelTableByOleDB(string strExcelPath, string tableName)

{

try

{

DataTable dtExcel = new DataTable();

//数据表

DataSet ds = new DataSet();

//获取文件扩展名

string strExtension = System.IO.Path.GetExtension(strExcelPath);

string strFileName = System.IO.Path.GetFileName(strExcelPath);

//Excel的连接

OleDbConnection objConn = null;

switch (strExtension)

{

case ".xls":

objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strExcelPath + ";" + "Extended Properties=\"Excel 8.0;HDR=yes;IMEX=1;\"");

break;

case ".xlsx":

objConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strExcelPath + ";" + "Extended Properties=\"Excel 12.0;HDR=yes;IMEX=1;\"");//此连接可以操作.xls与.xlsx文件 (支持Excel2003 和 Excel2007 的连接字符串) 备注: "HDR=yes;"是说Excel文件的第一行是列名而不是数,"HDR=No;"正好与前面的相反。"IMEX=1 "如果列中的数据类型不一致,使用"IMEX=1"可必免数据类型冲突。

break;

default:

objConn = null;

break;

}

if (objConn == null)

{

return null;

}

objConn.Open();

//获取Excel中所有Sheet表的信息

//System.Data.DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);

//获取Excel的第一个Sheet表名

// string tableName1 = schemaTable.Rows[0][2].ToString().Trim();

string strSql = "select * from [" + tableName + "$]";

//获取Excel指定Sheet表中的信息

OleDbCommand objCmd = new OleDbCommand(strSql, objConn);

OleDbDataAdapter myData = new OleDbDataAdapter(strSql, objConn);

myData.Fill(ds, tableName);//填充数据

objConn.Close();

//dtExcel即为excel文件中指定表中存储的信息

dtExcel = ds.Tables[tableName];

return dtExcel;

}

catch (Exception ex)

{

Console.WriteLine(ex.Message + "\r\n" + ex.StackTrace);

return null;

}

}

关于如何使用C#中的OleDbConnection 连接读取Excel?就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

总结

以上是生活随笔为你收集整理的c# oldb连接_如何使用C#中的OleDbConnection 连接读取Excel?的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。