由于HSSFWorkbook只能操作excel2003一下版本,XSSFWorkbook只能操作excel2007以上版本,所以利用Workbook接口创建对应的对象操作excel来处理兼容性

@Test
public void test6() throws Exception{
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream( new File("c://123.xls")));
HSSFSheet sheet = workbook.getSheetAt(0);
HSSFRow row =sheet.getRow(0);
HSSFCell cell= row.getCell(0);
System.out.println(cell.toString());
}

@Test
public void test7() throws Exception{
XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream( new File("c://456.xlsx")));
XSSFSheet sheet = workbook.getSheetAt(0);
XSSFRow row =sheet.getRow(0);
XSSFCell cell= row.getCell(0);
System.out.println(cell.toString());
}

@Test //利用Workbook接口和判断excel版本创建相应版本HSSFWorkbook/XSSFWorkbook对象
public void test8() throws Exception{
String file = "c://456.xlsx";
boolean isExcel2003 = file.toLowerCase().endsWith("xls")?true:false;
Workbook workbook = null;
if(isExcel2003){
workbook = new HSSFWorkbook(new FileInputStream(new File(file)));
}else{
workbook = new XSSFWorkbook(new FileInputStream(new File(file)));
}
Sheet sheet = workbook.getSheetAt(0);
Row row =sheet.getRow(0);
Cell cell= row.getCell(0);
System.out.println(cell.toString());
}

POI Workbook接口和HSSFWorkbook对象和XSSFWorkbook对象操作相应excel版本相关推荐

  1. List list= new ArrayList为什么这样写 接口引用指向实现类的对象

    经常见List<?> list= new ArrayList<?> Map<?,?> map = new  HashMap<?,?> 但是发现list只 ...

  2. android c 对象为空,ndk-jni中C/C++接口函数修改函数参数jobject对象成员值(数组)的有关问题...

    ndk-jni中C/C++接口函数修改函数参数jobject对象成员值(数组)的问题 现java中有个类: public class TestClass { private int nValue; p ...

  3. 向后台接口传递FormData格式的数组对象

    向后台接口传递FormData格式的数组对象 前端利用formData格式进行数据上传,前端formData 传值 和 json传值的区别?

  4. 解决C#调用Excel接口时报错,提示:Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Offi

    解决C#调用Excel接口时报错,提示:Microsoft.Office.Interop.Excel.ApplicationClass"的 COM 对象强制转换为接口类型"Micr ...

  5. java接口匿名实现类的匿名对象和java类匿名子类的匿名对象相关提点

    package com.atguigu09._inner;/*** @Description* @authr CodePerWorld Email:* @date*/ public class Out ...

  6. Javaweb-Servlet总结(概述、接口使用、配置、获取请求方式、路径操作、Request对象、Response对象)

    文章目录 Servlet概述 Servlet核心接口和类 三种自定义Servlet接口的方法 1.实现Servlet接口 2.继承GenericServlet抽象类 3.继承HttpServlet抽象 ...

  7. java 获取所有实现类_Java动态获取实现某个接口下所有的实现类对象集合

    Java动态获取实现某个接口下所有的实现类对象集合 最近有个需求,我需要获取所有同一类型的定时任务的对象,并自动执行. 我想的方案是:直接获取某个接口下面所有的实现类的对象集合,方便以后只需要 实现这 ...

  8. arcgis api结合高德poi搜索接口

    应用场景:通过高德poi查询接口,在天地图上打点展示,效果如下 实现步骤: 1.通过arcgis api 加载天地图.(资源里有已经封装好的天地图js,引入即可使用) 2.通过高德poi查询接口获取数 ...

  9. workbook需要引入的包_用Java玩转Excel,竟然如此easy~

    1.POI是什么 Apache POI - the Java API for Microsoft Documents,顾名思义,Apache的三方包,用来操作微软office文档的,多数时候用来操作e ...

最新文章

  1. 基于Javaweb实现企业财务管理系统
  2. /bin和/lib文件夹的区别
  3. 用json 数据生成mysql 表_根据json数据生成表格
  4. 关于IPv4设置一些常见问题的解答
  5. 微软ODBC服务器驱动,解决安装SQL Server时[Microsoft][ODBC 驱动程序管理器] 未发现数据源的问题...
  6. 如何结合短信和邮件有效的监控网站
  7. 论文笔记-Leverage Lexical Knowledge for Chinese Named Entity Recognition via Collaborative Graph Network
  8. Java中的内部类与匿名内部类
  9. 深入理解Java虚拟机(五)之Class类文件的底层结构
  10. 数学建模中的规划问题
  11. linux系统下怎么测试网口通不通,linux udp端口测试_linux udp端口测试_linux测试端口通不通...
  12. 【基础编程】最大子列和问题
  13. matplotlib柱状图之子柱状图不同颜色—20种颜色列表
  14. 微信公众号如何绑定运营者的微信号
  15. EOS智能合约开发系列(15): N与name
  16. oracle取整函数 kettle,怎样使用Kettle生成随机样本数据
  17. 【UE5】自定义环形进度条、方形进度条
  18. Lunix基础终端控制器操作
  19. VC++编写电子邮件程序 第二篇 也是用simple mapi
  20. 使用Notepad++将windows格式转为linux 的unix

热门文章

  1. 掌握 Ajax,第 7 部分: 在请求和响应中使用 XML
  2. Hibernate3的配置参数汇总
  3. Docker 集群 图形化显示 Visualizer
  4. Windows核心编程 第七章 线程的调度、优先级和亲缘性(下)
  5. 【开发环境】Ubuntu 中使用 VSCode 开发 C/C++ ③ ( 创建工程目录 | 添加 C++ 源代码 | 代码自动提示 )
  6. 【AOP 面向切面编程】Android Studio 中配置 AspectJ ( 下载并配置AS中 jar 包 | 配置 Gradle 和 Gradle 插件版本 | 配置 Gradle 构建脚本 )
  7. Codeforces 1103
  8. IOS文本框readonly时焦点事件
  9. 3创建型模式之单例模式
  10. UVALive 8513 lovers 2017 西安区域赛 B 贪心+multiset