首页后端开发ASP.NETC#如何使用 OleDbConnection 连接读取Excel?(代码实例)

C#如何使用 OleDbConnection 连接读取Excel?(代码实例)

时间2024-01-31 00:00:03发布访客分类ASP.NET浏览944
导读:收集整理的这篇文章主要介绍了C#如何使用 OleDbConnection 连接读取Excel?(代码实例),觉得挺不错的,现在分享给大家,也给大家做个参考。本篇文章给大家带来的内容是C#如何使用 OleDbConnection 连接读取Ex...
收集整理的这篇文章主要介绍了C#如何使用 OleDbConnection 连接读取Excel?(代码实例),觉得挺不错的,现在分享给大家,也给大家做个参考。本篇文章给大家带来的内容是C#如何使用 OleDbConnection 连接读取Excel?(代码实例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所助。

/// summary>
            /// 读取Excel中数据        /// /summary>
            /// param name="strExcelPath">
    /param>
            /// param name="tableName">
    /param>
            /// returns>
    /returns>
        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;
            }
        }
    @H_512_2@

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。更多相关教程请访问C#视频教程!

以上就是C#如何使用 OleDbConnection 连接读取Excel?(代码实例)的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

C#

若转载请注明出处: C#如何使用 OleDbConnection 连接读取Excel?(代码实例)
本文地址: https://pptw.com/jishu/593212.html
JavaScript怎样实现计算两数的乘积功能 技术解答CSV 文件的一个 .NET 库:CsvHelper 中文文档

游客 回复需填写必要信息