• 把Excel转换成DataTable,Excel2003+


    在数据处理的时候,我们会Excel(包含2003、2007、2010等)转换成DataTable,以便进一步操作

    1、怎么访问Excel文件呢?我们可以通过OLEDB接口访问,如下:

            private string GetConStr(string ExcelPath)
            {
                string path = ExcelPath;
                if (!File.Exists(path))
                    return null;
    string str2 = Path.GetExtension(path).ToLower(); if ((str2 != ".xls") && (str2 != ".xlsx")) return null;
    string str3 = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" + path + "; Extended Properties=Excel 8.0"; if (str2 == ".xlsx") str3 = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source=" + path + "; Extended Properties=Excel 12.0"; return str3; }

    2、读取Excel的数据到DataTable

            public DataTable ExcelToDataTable(string ExcelPath)
            {
                return ExcelToDataTable(ExcelPath, null);
            }
    
            public DataTable ExcelToDataTable(string ExcelPath, string SheetName)
            {
                string conStr = GetConStr(ExcelPath);
                if (string.IsNullOrEmpty(conStr))
                    return null;
    OleDbConnection connection = new OleDbConnection(conStr); connection.Open(); if (string.IsNullOrEmpty(SheetName)) SheetName = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null).Rows[0]["TABLE_NAME"].ToString();
    else if (!SheetName.Contains("$")) SheetName = SheetName + "$";
    OleDbDataAdapter adapter = new OleDbDataAdapter("select * from [" + SheetName + "]", conStr); DataSet dataSet = new DataSet(); adapter.Fill(dataSet, "[" + SheetName + "$]"); connection.Close(); return dataSet.Tables[0]; }
  • 相关阅读:
    人脸识别2
    neo4j可视化展示3
    20220608 08:00:04
    neo4j可视化展示
    20220609 08:00:02
    DNN(深度神经网络算法)
    人脸识别1
    20220610 08:00:02
    opencv加载视频源
    neo4j可视化展示
  • 原文地址:https://www.cnblogs.com/yuejin/p/3457724.html
Copyright © 2020-2023  润新知