.net导入Excel文件返回DataSet数据集
2016-10-20 15:49
225 查看
#region 获取数据集 protected DataSet GetDataSet(string filePath) { //2010以前版本连接字符串 //string Connstr = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + filePath + "';Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'"); //IMEX=1 一共有三种模式 0表示导出 1 导入 2表示混合模式 在读取Excel数据有金额类型的后面带小数点最好去掉IMEX属性 //HDR=Yes,这代表第一行是标题,不做为数据使用 ,如果用HDR=NO,则表示第一行不是标题,做为数据来使用。系统默认的是YES string Connstr2010 = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + Server.MapPath("~/") + filePath + "';Extended Properties='Excel 12.0;HDR=NO'"); OleDbConnection Conn = new OleDbConnection(Connstr2010); //创建ArrayList对象 存放所有sheetname ArrayList sheetNamelist = new ArrayList(); DataSet dsExcel = new DataSet(); try { if (Conn.State == ConnectionState.Closed)//检测conn是否处于开启状态 { Conn.Open(); } DataTable dtExcelSchema = Conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); string sheetName = string.Empty; for (int j = 0; j < dtExcelSchema.Rows.Count; j++) { sheetName = dtExcelSchema.Rows[j]["TABLE_NAME"].ToString(); //sheet名称 if (sheetName.ToLower().IndexOf("database") != -1) continue; else sheetNamelist.Add(sheetName); } } catch (Exception ex) { throw new Exception(ex.Message.ToString(), ex); } finally { Conn.Close(); } try { string strSQL = string.Empty; for (int i = 0; i < sheetNamelist.Count; i++) { strSQL = "select * from [" + sheetNamelist[i].ToString() + "]"; OleDbDataAdapter da = new OleDbDataAdapter(strSQL, Conn); DataTable dtExcel = new DataTable(sheetNamelist[i].ToString()); da.Fill(dtExcel); dsExcel.Tables.Add(dtExcel); } return dsExcel; } catch (Exception ex) { throw new Exception(ex.Message.ToString(), ex); return null; } finally { } } #endregion
相关文章推荐
- c#使用存储过程返回数据集(SqlCommand->DataSet)
- WebServices(C#)--返回查询数据集(DataSet)
- c#使用存储过程返回数据集(SqlCommand->DataSet)
- c#使用存储过程返回数据集(SqlCommand->DataSet)
- 连接本地Access数据库,返回数据集DataSet
- delphi 中如何调用webservice返回dataset 数据集
- WebServices(C#)--返回查询数据集(DataSet)
- 把存储过程返回的数据集填充到DATASET
- 获取webservice 返回的 dataset 数据集 并转换成 datatable
- android利用ksoap2返回复杂数据,数据集(dataset)
- 将DataSet数据集导入CSV后缀文件中
- 将存储过程返回的数据集填充到DataSet/DataTable(C#)
- 读取Csv文件返回DataSet的 二 种方法
- Webservice 返回数据集 DataSet 及Android显示数据集LiveBindings
- Delphi 调用 Oracle 存储过程并返回数据集的例子.
- [导入]关于ASP.NET返回文件的MIME的未解决问题
- 关于ASP.NET返回文件的问题
- 从WEB SERVICE 上返回大数据量的DATASET
- 自定义带结构的可序列化数据集DataSet.
- vb 调用 Oracle 函数返回数据集的例子