C# 上传excel文档解析出里面数据

if (fileExt.ToUpper() == ".XLS" || fileExt.ToUpper() == ".XLSX" || fileExt.ToUpper() == ".XLSM" || fileExt.ToUpper() == ".XLSB")
                {
                    int Sp_Count = orFilePath.Split(Convert.ToChar("\\")).Length;
                    //string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=No;IMEX=1';" + "data source=" + filePath;
                    string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties=\"Excel 12.0; HDR=NO; IMEX=1\"";
                    OleDbConnection Conn = new OleDbConnection(connStr);
                    Conn.Open();
                    //获取excel文档名字为Sheet1的工作表 (如没有此表则异常)
                    //string SheetName = "[Sheet1$]";
                    //DataSet ds = new DataSet();
                    //OleDbDataAdapter odda = new OleDbDataAdapter(string.Format("SELECT * FROM {0}", SheetName), Conn);
                    //odda.Fill(ds, SheetName);
                    //Conn.Close();

                   //获取动态名称
                   //返回Excel的架构,包括各个sheet表的名称,类型,创建时间和修改时间等 
                    DataTable dtSheetName = Conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });
                    //包含excel中表名的字符串数组
                    string[] strTableNames = new string[dtSheetName.Rows.Count];
                    for (int k = 0; k < dtSheetName.Rows.Count; k++)
                    {
                        strTableNames[k] = dtSheetName.Rows[k]["TABLE_NAME"].ToString();
                    }
                    DataSet ds = new DataSet();
                    OleDbDataAdapter odda = new OleDbDataAdapter(string.Format("SELECT * FROM [{0}]", strTableNames[0]), Conn);
                    odda.Fill(ds, strTableNames[0]);
                    Conn.Close();

                }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小步快跑-

如有帮到您,给个赞赏(^.^)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值