JavaWeb使用POI操作Excel文件实例
作者:feipeng8848 发布时间:2022-06-12 18:19:30
标签:javaweb,poi,excel
1.为项目添加POI
POI官网链接
点进去之后下载(上边的是编译好的类,下边的是源代码)
解压文件夹,把下面三个文件复制到WebComtent>WEB-INF>lib文件夹下
再把这三个文件复制到Tomcat的lib文件夹下,否则Tomcat会因为找不到类而报错(这个地方郁闷了一上午)
读取“.xls”格式使用 import org.apache.poi.hssf.usermodel.*;包的内容,例如:HSSFWorkbook
读取“.xlsx”格式使用 import org.apache.poi.xssf.usermodel.*; 包的内容,例如:XSSFWorkbook
读取两种格式使用 import org.apache.poi.ss.usermodel.* 包的内容,例如:Workbook
由于我是读取xslx文件所以使用以上几个jar文件。
注意:
上图中的两个文件夹中也有我们需要的jar文件,具体是哪几个忘记了(当然为了保险也可以把所有的都放进WebContent>WEN-INF>lib下再BuildPath进项目),没关系,一会运行的过程中会报错,根据错误信息再去找到相关的jar文件BuildPath进去就好,注意还要再Tomcat>lib下放置一份副本。
2.读取Excel文件
官方教程:链接
类库:链接
直接看代码吧,不难懂。
//遍历一个Excel文件<br>private void getExcelData(File file) {
System.out.println("now in getExcelData" );
System.out.println("get file name:"+file.getName().toString());
XSSFWorkbook workBook= null;
try {
workBook = new XSSFWorkbook(file);
int sheetCount = workBook.getNumberOfSheets(); //Sheet的数量
System.out.println("num of sheet is : "+sheetCount);
//遍历每个sheet
for(int i=0;i<sheetCount;i++)
{
XSSFSheet sheet = workBook.getSheetAt(i);
//获取总行数
int rowCount = sheet.getPhysicalNumberOfRows();
System.out.println("num of row : "+ rowCount);
System.out.println("i now in sheet : "+ i);
//遍历每一行
for (int r = 0; r < rowCount; r++) {
XSSFRow row = sheet.getRow(r);
//获取总列数
int cellCount = row.getPhysicalNumberOfCells();
//遍历每一列
for (int c = 0; c < cellCount; c++) {
XSSFCell cell = row.getCell(c);
String cellValue = null;
switch (cell.getCellTypeEnum()) {
case STRING:
//System.out.println("celltype is string");
cellValue = cell.getStringCellValue();
break;
case NUMERIC:
//System.out.println("celltype is Number");//整数,小数,日期
cellValue = String.valueOf(cell.getNumericCellValue());
break;
case BOOLEAN:
//System.out.println("celltype is Boolean");
cellValue = String.valueOf(cell.getBooleanCellValue());
break;
case FORMULA:
//System.out.println("celltype is Formula");//公式
cellValue = "错误,不能为公式";
break;
case BLANK:
//System.out.println("celltype is Blank");//空白
cellValue = cell.getStringCellValue();
break;
case ERROR:
//System.out.println("celltype is Error");
cellValue = "错误";
break;
default:
//System.out.println("celltype : default");
cellValue = "错误";
break;
}
System.out.println(cellValue.toString());
}
}
}
} catch (IOException e) {
System.out.println("File Error IOException : "+e.getMessage());
}
catch (Exception e) {
// TODO: handle exception
}
finally {
try {
workBook.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("workBook.close()&fileInputStream.close() Error : "+e.getMessage());
}
System.out.println("Try Catch : finally");
}
System.out.println("hi feipeng8848 getExcelData is done");
}
以上所述是小编给大家介绍的JavaWeb使用POI操作Excel文件实例网站的支持!
来源:http://www.cnblogs.com/feipeng8848/archive/2017/04/28/6781822.html


猜你喜欢
- 由于工作原因,需要将工程传递给一些新人小朋友,交互过程中,发现有几个典型的问题值得记录分享一下,以资来者。Androdi Studio 导入
- 一、安装JDK1.卸载旧版本或者系统自带的JDK(1)列出所有已安装的JDKrpm -qa | grep jdk(2)卸载不需要的JDKyu
- Scrollview标题栏滑动渐变仿京东样式(上滑显示下滑渐变消失)/** * @ClassName MyScrollView * @Aut
- 一、前言在java中,和C语言一样,也有关于字符串的定义,并且有他自己特有的功能,下面我们一起来学习一下。二、String类概述string
- 这篇文章主要介绍了Springboot分页插件使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- 概述在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说,程序的流程对运行结果有直接的影响。所以,我们必须清楚每条
- 前言之前实现过《Android可签到的日历控件》的功能,跟这篇一样都是实现签到打卡功能,这篇实现的是按月进行打卡做标识,本篇内容实现的按周进
- 本文实例讲述了Java删除二叉搜索树的任意元素的方法。分享给大家供大家参考,具体如下:一.删除思路分析在删除二叉搜索树的任意元素时,会有三种
- Spring Security是一款基于Spring框架的认证和授权框架,提供了一系列控制访问和保护应用程序的功能,同时也支持基于角色和权限
- 关于java图片验证码的文章最近更新了不少,帮助大家掌握java验证码的生成技术,下文为大家分享了java生成图片验证码最简单的方法,供大家
- 一、包含与删除两种方法解析1.boolean contains(Object o);判断集合中是否包含某个元素。package com.bj
- 起因曾经用过西门子出的 * , 好处是直接有SDK开发包, 不会硬件开发也能直接使用缺点也是明显的, 就是只支持Windows系统, 另外就
- 本文实例为大家分享了C语言非递归后序遍历二叉树的具体代码,供大家参考,具体内容如下法一:实现思路:一个栈 先按 根->右子树->
- 由于要在Web项目中采用RFID读取功能,所以有必要开发Activex,一般情况下开发Activex都采用VC,VB等,但对这两块不是很熟悉
- 本文实例为大家分享了Unity实现文本转贴图的具体代码,供大家参考,具体内容如下导入字体导入ttf字体,修改Character为Custom
- 本文实例为大家分享了java实现扫雷游戏入门程序的具体代码,供大家参考,具体内容如下分析:1.首先布一个10*10的雷阵,即二维数组map,
- 导入后gradle building 一直到跑,卡住了,一般是gradle没有下载,又下不下来的原因。去 http://serv
- 环境信息名称版本号Spring Boot2.4.5Idea2021.3.2服务端实现导入依赖<dependency>  
- XmlTextReader 提供对 XML 数据流的只进只读访问。当前节点指读取器定位到的节点。使用任何读方法推进读取器并且属性反映当前节点
- MybatisMyBatis ,是国内最火的持久层框架采用了ORM思想解决了实体类和数据库表映射的问题。对JDBC进行了封装,屏蔽了JDBC