java使用POI解析2007以上的Excel表格
来自http://hao0610.iteye.com/blog/1160678
使用poi来解析Excel的xls和xlsx。
解析xls:
- package xls;
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import org.apache.poi.hssf.usermodel.HSSFCell;
- import org.apache.poi.hssf.usermodel.HSSFRow;
- import org.apache.poi.hssf.usermodel.HSSFSheet;
- import org.apache.poi.hssf.usermodel.HSSFWorkbook;
- public class XlsMain {
- public static void main( String[] args) throws IOException {
- XlsMain xlsMain = new XlsMain();
- xlsMain.readXls();
- }
- private void readXls() throws IOException{
- InputStream is = new FileInputStream( "D:\\excel\\xls_test2.xls");
- HSSFWorkbook hssfWorkbook = new HSSFWorkbook( is);
- // 循环工作表Sheet
- for(int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++){
- HSSFSheet hssfSheet = hssfWorkbook.getSheetAt( numSheet);
- if(hssfSheet == null){
- continue;
- }
- // 循环行Row
- for(int rowNum = 0; rowNum <= hssfSheet.getLastRowNum(); rowNum++){
- HSSFRow hssfRow = hssfSheet.getRow( rowNum);
- if(hssfRow == null){
- continue;
- }
- // 循环列Cell
- for(int cellNum = 0; cellNum <= hssfRow.getLastCellNum(); cellNum++){
- HSSFCell hssfCell = hssfRow.getCell( cellNum);
- if(hssfCell == null){
- continue;
- }
- System.out.print(" " + getValue( hssfCell));
- }
- System.out.println();
- }
- }
- }
- @SuppressWarnings("static-access")
- private String getValue(HSSFCell hssfCell){
- if(hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN){
- return String.valueOf( hssfCell.getBooleanCellValue());
- }else if(hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC){
- return String.valueOf( hssfCell.getNumericCellValue());
- }else{
- return String.valueOf( hssfCell.getStringCellValue());
- }
- }
- }
解析xlsx:
- package xlsx;
- import java.io.IOException;
- import org.apache.poi.xssf.usermodel.XSSFCell;
- import org.apache.poi.xssf.usermodel.XSSFRow;
- import org.apache.poi.xssf.usermodel.XSSFSheet;
- import org.apache.poi.xssf.usermodel.XSSFWorkbook;
- public class XlsxMain {
- public static void main( String[] args) throws IOException {
- XlsxMain xlsxMain = new XlsxMain();
- xlsxMain.readXlsx();
- }
- private void readXlsx() throws IOException{
- String fileName = "D:\\excel\\xlsx_test.xlsx";
- XSSFWorkbook xssfWorkbook = new XSSFWorkbook( fileName);
- // 循环工作表Sheet
- for(int numSheet = 0; numSheet < xssfWorkbook.getNumberOfSheets(); numSheet++){
- XSSFSheet xssfSheet = xssfWorkbook.getSheetAt( numSheet);
- if(xssfSheet == null){
- continue;
- }
- // 循环行Row
- for(int rowNum = 0; rowNum <= xssfSheet.getLastRowNum(); rowNum++ ){
- XSSFRow xssfRow = xssfSheet.getRow( rowNum);
- if(xssfRow == null){
- continue;
- }
- // 循环列Cell
- for(int cellNum = 0; cellNum <= xssfRow.getLastCellNum(); cellNum++){
- XSSFCell xssfCell = xssfRow.getCell( cellNum);
- if(xssfCell == null){
- continue;
- }
- System.out.print(" "+getValue(xssfCell));
- }
- System.out.println();
- }
- }
- }
- @SuppressWarnings("static-access")
- private String getValue(XSSFCell xssfCell){
- if(xssfCell.getCellType() == xssfCell.CELL_TYPE_BOOLEAN){
- return String.valueOf( xssfCell.getBooleanCellValue());
- }else if(xssfCell.getCellType() == xssfCell.CELL_TYPE_NUMERIC){
- return String.valueOf( xssfCell.getNumericCellValue());
- }else{
- return String.valueOf( xssfCell.getStringCellValue());
- }
- }
- }
java使用POI解析2007以上的Excel表格的更多相关文章
- java使用poi包将数据写入Excel表格
1.Excel相关操作代码 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcept ...
- java的poi技术读,写Excel[2003-2007,2010]
在上一篇blog:java的poi技术读取Excel[2003-2007,2010] 中介绍了关于java中的poi技术读取excel的相关操作 读取excel和MySQL相关: java的poi技术 ...
- java的poi技术读取和导入Excel实例
本篇文章主要介绍了java的poi技术读取和导入Excel实例,报表输出是Java应用开发中经常涉及的内容,有需要的可以了解一下. 报表输出是Java应用开发中经常涉及的内容,而一般的报表往往缺乏通用 ...
- Java操作Jxl实现导出数据生成Excel表格数据文件
实现:前台用的框架是Easyui+Bootstrap结合使用,需要引入相应的Js.Css文件.页面:Jsp.拦截请求:Servlet.逻辑处理:ClassBean.数据库:SQLserver. 注意: ...
- java 使用 poi 解析excel
背景: web应用经常需要上传文件,有时候需要解析出excel中的数据,如果excel的格式没有问题,那就可以直接解析数据入库. 工具选择: 目前jxl和poi可以解析excel,jxl很早就停止维护 ...
- Java使用POI解析Excel表格
概述 Excel表格是常用的数据存储工具,项目中经常会遇到导入Excel和导出Excel的功能. 常见的Excel格式有xls和xlsx.07版本以后主要以基于XML的压缩格式作为默认文件格式xlsx ...
- java使用poi解析或处理excel的时候,如何防止数字变成科学计数法的形式和其他常见Excel中数据转换问题
当使用POI处理excel的时候,遇到了比较长的数字,虽然excel里面设置该单元格是文本类型的,但是POI的cell的类型就会变成数字类型. 而且无论数字是否小数,使用cell.getNumberi ...
- 【Javaweb】poi实现通过上传excel表格批量导入数据到数据库
1.导入poi相关jar包 对于只操作2003及以前版本的excel,只需要导入poi-XXX.jar ,如果还需要对2007及以后版本进行操作,则需要导入 poi-ooxml-XXX.jar poi ...
- java中poi解析excel(兼容07版本以上及以下:.xls和.xlsx格式)
package com.genersoft.cbms.ysbz.ExcelDr.cmd; import com.genersoft.cbms.ysbz.ExcelDr.dao.ExcelDrDao; ...
随机推荐
- 控件屏蔽Ctrl+C 复制
procedure ****.***KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin ) )) and (ssCtr ...
- 微信小程序学习过程
1.诞生背景: 更好的体验: 规范与管理: 2.什么是小程序: 小程序是一种不需要下载即可使用的应用,它实现了应用“触手可及”的梦想: 用户扫一扫或者搜一下即可打开应用,也体现了“用完即走”的理念: ...
- openstack Q版部署-----网络服务(neutron)安装部署(7)
一.数据库配置(控制节点) 控制节点创建数据库: CREATE DATABASE neutron; GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'lo ...
- python,中使用while...else 和 for...else 还有try...else,另外就是运用with关键字
其他语言中else只可以和if进行组合,也就是我们常见的if...else,但是python为else赋予了新的声明.它可以和while .for .try一起串联使用. 下面我们介绍和while串联 ...
- C++ 仿函数
先考虑一个简单的例子:假设有一个vector<string>,你的任务是统计长度小于5的string的个数,如果使用count_if函数的话,你的代码可能长成这样: 1 bool Leng ...
- nginx指定文件路径有两种方式root和alias
背景 一直没明白这个配置啥意思,反正凑合用吧,不过老凑合总不是个事,没搞明白更容易忘,别人问还答不上来.反正也很简单,就搞明白点记下来. 知识点 root实例: location ^~ /t/ { r ...
- applet jre冲突问题
erp中用到applet,jre为1.6,开发用到jdk1.8,有冲突 安装jre1.6,再安装jdk8,将jdk1.8文件夹复制后卸载1.8,然后重新黏贴,将javahome定向到1.8文件夹
- safarai - loading.close() 无效问题
代码环境: vue + elenment 问题描述: 上传文件时,显示loading动画:上传成功后,隐藏loading动画.window 下常用的浏览正常,safari 下的chrome浏览器(目前 ...
- fiddler 抓取 安卓模拟器 https包
2017-12-12 16:47:45 星期二 需要材料: 1. fiddler 2. 逍遥模拟器 步骤: 1. fiddler->tool->Optiions...->connec ...
- Linux root密码忘记了怎么办?
一.找回root密码: 1. 开机出现 Booting Red Hat Enterprise Linux Client (…) in 3 seconds … 按任意键进入menu菜单: 2. 选择当前 ...