读取EXCEL数据到内存DataTable
2016-07-20 15:30
399 查看
protected void Page_Load(object sender, EventArgs e) { string filepath = Server.MapPath("~/file/产品实例数据.xlsx"); ReadExcelToTable(filepath); } private DataTable ReadExcelToTable(string path) { //连接字符串 string connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; // Office 07及以上版本不能出现多余的空格 而且分号注意 //string connstring = Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; //Office 07以下版本 因为本人用Office2010 所以没有用到这个连接字符串 可根据自己的情况选择 或者程序判断要用哪一 //个连接字符串 using (OleDbConnection conn = new OleDbConnection(connstring)) { conn.Open(); DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字 string firstSheetName = sheetsName.Rows[0][2].ToString(); //得到第一个sheet的名字 string sql = string.Format("SELECT * FROM [{0}]", firstSheetName); //查询字符串 OleDbDataAdapter ada = new OleDbDataAdapter(sql, connstring); DataSet set = new DataSet(); ada.Fill(set); return set.Tables[0]; } }
相关文章推荐
- MySQL安装步骤及相关问题解决
- 数据库SQLite在Qt5+VS2012使用规则总结---中文乱码
- 【测试CPU和硬盘的测试工具】
- 推荐几个学习Node的网址:
- hd 4548 美素数
- jdk1.6 完美卸载
- 详解Javaweb中常见漏洞的防御
- PAT 1015 Graduate Admission (30)
- php自定义函数实现二维数组排序功能
- C++中类的组合与构造函数
- linux 下oracle 11g sys和system密码丢失
- python装饰器初探
- 【转】这些编程语言程序员工资最高!Java才第四
- java常量池以及“==”字符串比较
- HTML5前端开发之进阶篇
- hadoop datanode 节点超时时间设置
- 根据文件头检测文件类型的完整代码
- 【POJ1743】 Musical Theme (二分+后缀数组)
- android 音频播放总结 soundlPool,MediaPlay
- Spring JdbcTemplate 与 事务管理