看别人使用POI做过操作EXCEL,今天也下载了个例子使用POI操作excel做一个小测试,当操作excel2003时,要用POI中的HSSFWorkbook类来操作,操作方式如下:
//1、创建工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
//2、创建工作表
HSSFSheet sheet = workbook.createSheet("hello world");//指定工作表名
//3、创建行;创建第3行
HSSFRow row = sheet.createRow(2);
//4、创建单元格;创建第3行第3列
HSSFCell cell = row.createCell(2);
cell.setCellValue("Hello World");
//输出到硬盘
FileOutputStream outputStream = new FileOutputStream("D:\\测试.xls");
//把excel输出到具体的地址
workbook.write(outputStream);
workbook.close();
outputStream.close();
以上代码到是没有问题,关键是操作excel2007,POI规定操作2007以上版本时要用XSSFWorkbook,直接将以上代码拷贝,HSSFWorkbook 换成XSSFWorkbook
//1、创建工作簿
XSSFWorkbook workbook = new XSSFWorkbook();
//2、创建工作表
XSSFSheet sheet = workbook.createSheet("hello world");//指定工作表名
//3、创建行;创建第3行
XSSFRow row = sheet.createRow(2);
//4、创建单元格;创建第3行第3列
XSSFCell cell = row.createCell(2);
cell.setCellValue("Hello World");
//输出到硬盘
FileOutputStream outputStream = new FileOutputStream("D:\\测试.xlsx");
//把excel输出到具体的地址
workbook.write(outputStream);
workbook.close();
outputStream.close();
但是此时,报错:javax.xml.stream.XMLEventFactory.newFactory(),卧槽,明明和别人例子上一模一样啊!
最终解决办法:
经过查询资料,发现造成这个原因的问题是JDK版本问题,我的编译器是MyEclipse2014,默认JDK1.6是0.13版本,而操作EXCEL07以上要求JDK0.18版本以上。
于是我就在网上下了个JDK1.60.43版本的,直接解压安装,此时就不用再配置环境了,只要在Myeclipse中配置一下就行了,配置方法为:点这里,然后在你的项目上面,“configure buildPath”,将你原来的JRE版本“Remove”,然后右侧点击“Add Library”,换成新加的.
直接Finish。
此时再去运行你的项目就OK了!