之前喜欢用 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相关推荐

  1. 【c#操作office】--OleDbDataAdapter 与OleDbDataReader方式读取excel,并转换为datatable

     OleDbDataAdapter方式: /// <summary>/// 读取excel的表格放到DataTable中 ---OleDbDataAdapter /// </su ...

  2. OleDbDataAdapter与OleDbDataReader方式读取EXCEL并转换为DataTable

    OleDbDataAdapter方式: /// <summary>/// 读取excel的表格放到DataTable中 ---OleDbDataAdapter /// </summa ...

  3. java poi方式读取Excel的图片

    POM ​​​​ <!-- poi --> <dependency><groupId>cn.afterturn</groupId><artifac ...

  4. .Net 使用oledb方式读取Excel

    开发.net项目使用microsoft.ACE.oledb读取excel文件: 1 连接串: string    strCon =string.Format("Provider=Micros ...

  5. 读取Excel还用POI?试试这款开源工具

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 优雅先生 来源 | my.oschina.net/feichexia/blog/1 ...

  6. php循环读取excel每个单元格,php使用PHPexcel类读取excel文件(循环读取每个单元格的数据)...

    error_reporting(E_ALL); date_default_timezone_set('Asia/ShangHai'); include_once('Classes/PHPExcel/I ...

  7. EasyExcel 轻松灵活读取Excel内容

    写在前面 Java 后端程序员应该会遇到读取 Excel 信息到 DB 等相关需求,脑海中可能突然间想起 Apache POI 这个技术解决方案,但是当 Excel 的数据量非常大的时候,你也许发现, ...

  8. Python读取excel中的图片

    Python读取excel中的图片 一.读取excel文件 我们先来看看如何读取excel文件,读取excel文件的方式很多.这里选择openpyxl模块,安装语句如下: pip install op ...

  9. java excel 中文乱码_java中读取excel文件中字符串乱码问题解决方法

    以前的时候发现直接java读取一个excel文件输出里面的字符串会乱码,中文字符不会乱码,但是遇到英文的时候输出会乱码.这个问题太奇怪了. 我的表格名字为Shirley.xls. 我曾经直接读取exc ...

  10. Python 使用xlrd库读取excel

    xlrd库提供对excel的读操作,下载地址为https://pypi.python.org/pypi/xlrd,xlrd库的安装可以参考本文的另一篇博文http://blog.csdn.net/u0 ...

最新文章

  1. 您如何重命名MongoDB数据库?
  2. zabbix------监控H3C MSR路由器
  3. 老板请吃饭 | 李笑来约你聊聊垂直社区的产品和运营
  4. flask双向映射语法
  5. react-redux中的持久化数据存储redux-persist
  6. 64位ubuntu 12.04编译linux内核提示openssl/opensslv.h文件缺失
  7. php设置路径别名,react设置文件路径别名的具体方法你知道么
  8. 国家网络安全事件应急预案,你需要知道哪些重点
  9. C++随记总结(1)----关于C++中的大小端、位段(惑位域)和内存对齐
  10. c# emnu 获取注释_C#机器学习之判断日报是否合格
  11. MATLAB--求解矩阵方程
  12. SAP Java Connector 错误 - JCO_ERROR_COMMUNICATION
  13. 2017年2月14日实习日记 RHEL下dracut制作initramfs
  14. android 三星 蓝牙sco,android – 来电后蓝牙SCO失败
  15. 盗版始祖——海盗湾(The Pirate Bay)
  16. 餐厅收银系统|基于SSM实现餐厅收银系统
  17. 2021APMCM赛后总结——边缘检测
  18. SAP系统PP模块常用RFC接口
  19. 【视点】从一些实例看大数据部门的权与责
  20. linux c 字符串转int,Linux c/c+编程--std::string str; int转str

热门文章

  1. 基于MATLAB语音分析处理系统
  2. windows下无npcap驱动导致golang获取网卡失败问题
  3. Linux运维工程师面试知识点汇总(二)
  4. 低代码--功能模块化,逻辑图形化
  5. 百度云终极破解版 使用前必看txt
  6. 关于vray 5.2的使用(自研笔记)
  7. oracle pmon andsmon,SMON and PMON
  8. oracle EM导出AWR报告,AWR报告导出
  9. 正则表达式验证注册页面
  10. 小程序去水印解析接口,短视频解析稳定API接口教程