使用poi来解析Excel的xls和xlsx。

解析xls:

Java代码  
  1. package xls;
  2. import java.io.FileInputStream;
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import org.apache.poi.hssf.usermodel.HSSFCell;
  6. import org.apache.poi.hssf.usermodel.HSSFRow;
  7. import org.apache.poi.hssf.usermodel.HSSFSheet;
  8. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  9. public class XlsMain {
  10. public static void main( String[] args) throws IOException {
  11. XlsMain xlsMain = new XlsMain();
  12. xlsMain.readXls();
  13. }
  14. private void readXls() throws IOException{
  15. InputStream is = new FileInputStream( "D:\\excel\\xls_test2.xls");
  16. HSSFWorkbook hssfWorkbook = new HSSFWorkbook( is);
  17. // 循环工作表Sheet
  18. for(int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++){
  19. HSSFSheet hssfSheet = hssfWorkbook.getSheetAt( numSheet);
  20. if(hssfSheet == null){
  21. continue;
  22. }
  23. // 循环行Row
  24. for(int rowNum = 0; rowNum <= hssfSheet.getLastRowNum(); rowNum++){
  25. HSSFRow hssfRow = hssfSheet.getRow( rowNum);
  26. if(hssfRow == null){
  27. continue;
  28. }
  29. // 循环列Cell
  30. for(int cellNum = 0; cellNum <= hssfRow.getLastCellNum(); cellNum++){
  31. HSSFCell hssfCell = hssfRow.getCell( cellNum);
  32. if(hssfCell == null){
  33. continue;
  34. }
  35. System.out.print("    " + getValue( hssfCell));
  36. }
  37. System.out.println();
  38. }
  39. }
  40. }
  41. @SuppressWarnings("static-access")
  42. private String getValue(HSSFCell hssfCell){
  43. if(hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN){
  44. return String.valueOf( hssfCell.getBooleanCellValue());
  45. }else if(hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC){
  46. return String.valueOf( hssfCell.getNumericCellValue());
  47. }else{
  48. return String.valueOf( hssfCell.getStringCellValue());
  49. }
  50. }
  51. }

解析xlsx:

Java代码  
  1. package xlsx;
  2. import java.io.IOException;
  3. import org.apache.poi.xssf.usermodel.XSSFCell;
  4. import org.apache.poi.xssf.usermodel.XSSFRow;
  5. import org.apache.poi.xssf.usermodel.XSSFSheet;
  6. import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  7. public class XlsxMain {
  8. public static void main( String[] args) throws IOException {
  9. XlsxMain xlsxMain = new XlsxMain();
  10. xlsxMain.readXlsx();
  11. }
  12. private void readXlsx() throws IOException{
  13. String fileName = "D:\\excel\\xlsx_test.xlsx";
  14. XSSFWorkbook xssfWorkbook = new XSSFWorkbook( fileName);
  15. // 循环工作表Sheet
  16. for(int numSheet = 0; numSheet < xssfWorkbook.getNumberOfSheets(); numSheet++){
  17. XSSFSheet xssfSheet = xssfWorkbook.getSheetAt( numSheet);
  18. if(xssfSheet == null){
  19. continue;
  20. }
  21. // 循环行Row
  22. for(int rowNum = 0; rowNum <= xssfSheet.getLastRowNum(); rowNum++ ){
  23. XSSFRow xssfRow = xssfSheet.getRow( rowNum);
  24. if(xssfRow == null){
  25. continue;
  26. }
  27. // 循环列Cell
  28. for(int cellNum = 0; cellNum <= xssfRow.getLastCellNum(); cellNum++){
  29. XSSFCell xssfCell = xssfRow.getCell( cellNum);
  30. if(xssfCell == null){
  31. continue;
  32. }
  33. System.out.print("   "+getValue(xssfCell));
  34. }
  35. System.out.println();
  36. }
  37. }
  38. }
  39. @SuppressWarnings("static-access")
  40. private String getValue(XSSFCell xssfCell){
  41. if(xssfCell.getCellType() == xssfCell.CELL_TYPE_BOOLEAN){
  42. return String.valueOf( xssfCell.getBooleanCellValue());
  43. }else if(xssfCell.getCellType() == xssfCell.CELL_TYPE_NUMERIC){
  44. return String.valueOf( xssfCell.getNumericCellValue());
  45. }else{
  46. return String.valueOf( xssfCell.getStringCellValue());
  47. }
  48. }
  49. }

  • lib.rar (7.2 MB)
  • 下载次数: 2003
  • poi3.7源码.rar (1.6 MB)
  • 下载次数: 1169
  • poi_lib.rar (8.4 MB)
  • 下载次数: 1845

使用poi解析Excel相关推荐

  1. poi解析excel读取日期为数字的问题

    Apache poi 版本:3.12 今天在用poi解析excel文件时,碰到一个蛋疼的问题. 在我的excel文件中有一列是日期类型,例如有以下这么一行数据(日期中月份前面的0会自动去掉): 在读取 ...

  2. ssh excel 导入 mysql_ssh poi解析excel并将数据存入数据库

    做完了一个报表导入数据库 功能 遇到几个问题:一 .Poi解析excel 的两种格式 xls xlsx. 二.form表单上传使用ajax 三.excel 单元格中有公式存在普通的读取方式读到的是公式 ...

  3. Java面试poi中excel版本大小_java 中 poi解析Excel文件版本问题解决办法

    java 中 poi解析Excel文件版本问题解决办法 发布时间:2020-10-02 03:46:15 来源:脚本之家 阅读:91 作者:程诺 poi解析Excel文件版本问题解决办法 poi解析E ...

  4. POI解析Excel表格

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 这里实现poi解析Excel表格的例子,导入Exc ...

  5. 为什么poi解析Excel慢?

    我们项目用xlsx配置业务数据,每个项目中会有500~600张表,解析耗时1分多钟. 尝试改成csv后,解析耗时5~6秒. 这不禁让我陷入思考,都是文本数据,为什么poi解析Excel会这么慢? 带着 ...

  6. 【poi-3.8】poi解析excel插入数据库详解

    文章目录 poi解析excel&插入数据库详解 说明 一.目的 二.准备工作 三.思路分析 四.流程图分析 五.核心代码 1:上传文件 2:获取输入流 3:初始化excel表 4:遍历行和列 ...

  7. 使用Apache POI解析excel

    1.使用Apache POI解析excel,包括.xls和.xlsx Apache POI 针对Workbook有两种不同实现方式,分别是HSSFWorkbook(解析.xls文件)和XSSFWork ...

  8. poi解析Excel文件版本问题

    poi解析Excel文件时有两种格式: HSSFWorkbook格式用来解析Excel2003(xls)的文件 XSSFWorkbook格式用来解析Excel2007(xlsx)的文件 如果用HSSF ...

  9. java解析excel报错,poi解析excel文件报错

    getFileMagic() only operates on streams which support mark(int) 使用 bis 解决 BufferedInputStream bis = ...

  10. springboot + poi 解析 excel

    Apache POI 是用 Java 编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对 Microsoft Office 格式档案读和写的功能. 本文使用 s ...

最新文章

  1. 06-Windows Server 2012 新特性 ---- Hyper-V实时迁移
  2. Chrome 开发者工具的各种骚技巧
  3. Centos 6.5 搭建NFS服务器笔记
  4. *【CodeForces - 1150D】Three Religions(dp,预处理,思维)
  5. github 学习使用
  6. pb 怎么判断是 小数_考试90分以上的孩子是怎么学数学的?听听老师怎么说?
  7. HGOI20190707 题解
  8. java 数据库 r n_讲解:Database|R|SQL|Java
  9. 机器学习数据预处理代码汇总(最新更新20年3月1日)
  10. 联想台式机usb驱动_windows安装系列教程—驱动安装
  11. (2)Matplotlib_bar, barh
  12. c语言 期末,c语言期末 求助
  13. Web安全工具大汇聚
  14. 分享一个AUTO uninstaller|AUTOCAD 安装失败解决方案
  15. python实现淘宝客服自动回复语_Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例...
  16. 【Spring】IDEA中创建Spring项目
  17. PCF8591模块测试
  18. 机考怎么作弊_公司想用电脑组织机考,但是人手有限,不能人工监考,可不可以使用电脑控制防止考试作弊呢?...
  19. 路径java起床战争_我的世界起床战争地图制作教程
  20. linux中安装maven插件,Maven插件wagon

热门文章

  1. iOS 如何让APP 删除后不接受 APNS 推送消息
  2. 电脑连WiFi怎么查看密码是多少
  3. 如何查看手机登录IP地址
  4. newuoa matlab包,PDFO首页、文档和下载 - Powell 无导数优化求解器
  5. 大数据发展前景及就业方向【大数据专业讲座】
  6. Android————一个简单记账本(Bookkeeping)
  7. 基于VB的Picture绘图
  8. jQuery 中ajax回调函数获得的数据格式问题
  9. 计算机男朋友好处,程序猿男朋友的好处
  10. e431装linux系统恢复,Mac、Linux、Windows三系统的备份恢复以及引导修复思路记录