用连接数据库的方式读取excel
之前喜欢用 hssfworkbook直接将excel读取到workbook中,这样直接对sheet进行解析。可是当数据量很大,数据文件到5M以后c#的内存占用很大,就会很卡了。所以改用这种方法读取到dataset中,再对数据进行解析。直接上代码:
public static DataSet GetExcelTableByOleDB(string strExcelPath){try{DataTable dtExcel = new DataTable();string strExtension = Path.GetExtension(strExcelPath);OleDbConnection objConn = null;switch (strExtension){case ".xls":objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strExcelPath + ";" + "Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1;\"");break;case ".xlsx":objConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strExcelPath + ";" + "Extended Properties=\"Excel 12.0;HDR=NO;IMEX=1;\"");break;default:objConn = null;break;}if (objConn == null){return null;}objConn.Open();DataTable sheetNames = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });DataSet ds = new DataSet();if (sheetNames == null)return null;foreach (DataRow dr in sheetNames.Rows){string strSql = "select * from [" + dr[2] + "]";OleDbDataAdapter myData = new OleDbDataAdapter(strSql, objConn);myData.Fill(ds, dr[2].ToString());}objConn.Close();return ds;}catch (Exception ex){throw ex;}}
用连接数据库的方式读取excel相关推荐
- 【c#操作office】--OleDbDataAdapter 与OleDbDataReader方式读取excel,并转换为datatable
OleDbDataAdapter方式: /// <summary>/// 读取excel的表格放到DataTable中 ---OleDbDataAdapter /// </su ...
- OleDbDataAdapter与OleDbDataReader方式读取EXCEL并转换为DataTable
OleDbDataAdapter方式: /// <summary>/// 读取excel的表格放到DataTable中 ---OleDbDataAdapter /// </summa ...
- java poi方式读取Excel的图片
POM <!-- poi --> <dependency><groupId>cn.afterturn</groupId><artifac ...
- .Net 使用oledb方式读取Excel
开发.net项目使用microsoft.ACE.oledb读取excel文件: 1 连接串: string strCon =string.Format("Provider=Micros ...
- 读取Excel还用POI?试试这款开源工具
点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 优雅先生 来源 | my.oschina.net/feichexia/blog/1 ...
- php循环读取excel每个单元格,php使用PHPexcel类读取excel文件(循环读取每个单元格的数据)...
error_reporting(E_ALL); date_default_timezone_set('Asia/ShangHai'); include_once('Classes/PHPExcel/I ...
- EasyExcel 轻松灵活读取Excel内容
写在前面 Java 后端程序员应该会遇到读取 Excel 信息到 DB 等相关需求,脑海中可能突然间想起 Apache POI 这个技术解决方案,但是当 Excel 的数据量非常大的时候,你也许发现, ...
- Python读取excel中的图片
Python读取excel中的图片 一.读取excel文件 我们先来看看如何读取excel文件,读取excel文件的方式很多.这里选择openpyxl模块,安装语句如下: pip install op ...
- java excel 中文乱码_java中读取excel文件中字符串乱码问题解决方法
以前的时候发现直接java读取一个excel文件输出里面的字符串会乱码,中文字符不会乱码,但是遇到英文的时候输出会乱码.这个问题太奇怪了. 我的表格名字为Shirley.xls. 我曾经直接读取exc ...
- Python 使用xlrd库读取excel
xlrd库提供对excel的读操作,下载地址为https://pypi.python.org/pypi/xlrd,xlrd库的安装可以参考本文的另一篇博文http://blog.csdn.net/u0 ...
最新文章
- 您如何重命名MongoDB数据库?
- zabbix------监控H3C MSR路由器
- 老板请吃饭 | 李笑来约你聊聊垂直社区的产品和运营
- flask双向映射语法
- react-redux中的持久化数据存储redux-persist
- 64位ubuntu 12.04编译linux内核提示openssl/opensslv.h文件缺失
- php设置路径别名,react设置文件路径别名的具体方法你知道么
- 国家网络安全事件应急预案,你需要知道哪些重点
- C++随记总结(1)----关于C++中的大小端、位段(惑位域)和内存对齐
- c# emnu 获取注释_C#机器学习之判断日报是否合格
- MATLAB--求解矩阵方程
- SAP Java Connector 错误 - JCO_ERROR_COMMUNICATION
- 2017年2月14日实习日记 RHEL下dracut制作initramfs
- android 三星 蓝牙sco,android – 来电后蓝牙SCO失败
- 盗版始祖——海盗湾(The Pirate Bay)
- 餐厅收银系统|基于SSM实现餐厅收银系统
- 2021APMCM赛后总结——边缘检测
- SAP系统PP模块常用RFC接口
- 【视点】从一些实例看大数据部门的权与责
- linux c 字符串转int,Linux c/c+编程--std::string str; int转str