C#读取Excel表格中数据并返回datatable
来源:互联网 发布:青铜器 软件 编辑:程序博客网 时间:2024/04/30 04:12
在软件开发的过程中,经常用到从excel表格中读取数据作为数据源,以下整理了一个有效的读取excel表格的方法。
DataTable GetDataTable(string tableName,string leftTopCel,string rightbutCel) { bool hasTitle = false; OpenFileDialog openFile = new OpenFileDialog(); openFile.Filter = "Excel(*.xlsx;*.xls)|*.xlsx;*.xls|所有文件(*.*)|*.*"; openFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); openFile.Multiselect = false; if (openFile.ShowDialog() == DialogResult.Cancel) return null; var filePath = openFile.FileName; string fileType = System.IO.Path.GetExtension(filePath); if (string.IsNullOrEmpty(fileType)) return null; using (DataSet ds = new DataSet()) { string strCon = string.Format("Provider=Microsoft.Jet.OLEDB.{0}.0;" + "Extended Properties=\"Excel {1}.0;HDR={2};IMEX=1;\";" + "data source={3};", (fileType == ".xls" ? 4 : 12), (fileType == ".xls" ? 8 : 12), (hasTitle ? "Yes" : "NO"), filePath); string strCom = " SELECT * FROM [" + tableName + "$" + leftTopCel + ":" + rightbutCel + "] "; using (OleDbConnection myConn = new OleDbConnection(strCon)) using (OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn)) { myConn.Open(); myCommand.Fill(ds); } if (ds == null || ds.Tables.Count <= 0) return null; return ds.Tables[0]; } }
tableName是该表表格的名称 如:Sheet1leftTopCel是左上角单元格名称,如:A1rightbutCel是右上角单元格名称,如:B13
同时需要引入命名空间
using System.Data;
using System.Data.OleDb;
理论上,该方法支持所有excel表格,但是在实际的使用过程中,我们发现,这只支持xls格式的,所以如果对xlsx的文件如果打开失败的话,可以尝试把xlsx文件另存问xls格式,再重新打开。
阅读全文
0 0
- C#读取Excel表格中数据并返回datatable
- C#调用NPOI组件读取excel表格数据转为datatable写入word表格中并向word中插入图片/文字/书签 获得书签列表
- C#程序从Excel表格中读取数据并进行处理
- C# 读取 excel 中 sheet 及数据到DataTable
- C#读取Excel的指定页面的内容,并返回成一个DataTable
- C# 在excel表格中检索并导出数据
- C# 读取Excel到DataTable中
- java SpringMVC中 POI读取数据库数据并写入Excel表格中,并实现下载功能
- Net读取Excel 返回DataTable
- C#如何读取Excel表格数据并显示到GridView控件
- C#读取Excel表格中内容并显示在DataGridView控件中
- C#读取Excel表格
- C#读取excel表格
- QTP中读取Excel表格中的数据
- 读取Excel表格数据
- 读取excel表格数据
- C#读取Excel到DataTable
- 读取Excel文件中的数据,并显示在MSFlexGrid表格中
- oracle的开启和关闭
- Java WebSocket 聊天室Demo
- HTC595的时序操作序分析
- 微信小程序多选框选中后改变样式--自定义图片
- NKOJ 2266 (HNOI 2013)游走(高斯消元+数学期望)
- C#读取Excel表格中数据并返回datatable
- [CentOS7环境搭建](一)VM中安装CentOS7
- 使用cookie保存用户的浏览记录
- 即将到来的Ionic4以及它使用的Stencil会产生什么影响?
- 用友U8 REP实践
- 数据结构实验之排序三:bucket sort
- [javase]杨辉三角形
- Ubuntu 16.04安装tomcat8
- 机械故障诊断入门