java使用easypoi poi获取excel某单元格的值
Pom依赖
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>4.0.0</version>
</dependency>
控制层代码
import org.apache.poi.ss.usermodel.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
@RestController
public class TestController {
@GetMapping("test")
public void test(MultipartFile file) throws Exception{
//创建一个工作铺
Workbook workbook = WorkbookFactory.create(file.getBytes());
//获取第一个excel表
Sheet sheet = workbook.getSheetAt(0);
//获取excel的第二行(注意下表从0开始,0代表第一行)
Row row = sheet.getRow(1);
//获取excel的第二列(注意下表从0开始,0代表第一列)
Cell testCell=row.getCell(1);
//第二行第二列的数据
String test = getXCellVal(testCell);
System.out.println(test);
//第二行第六列的数据
Cell test2Cell=row.getCell(5);
String test2 = getXCellVal(test2Cell);
System.out.println(test2);
return;
}
/**
* 根据单元格的格式 获取单元格的内容
* @param cell
* @return
*/
private static String getXCellVal(Cell cell) {
DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
DecimalFormat df = new DecimalFormat("0.0000");
String val = "";
switch (cell.getCellType()) {
case NUMERIC:
if (DateUtil.isCellDateFormatted(cell)) {
val = fmt.format(cell.getDateCellValue()); //日期型
} else {
val = df.format(cell.getNumericCellValue()); //数字型
// 去掉多余的0,如最后一位是.则去掉
val = val.replaceAll("0+?$", "").replaceAll("[.]$","");
}
break;
case STRING: //文本类型
val = cell.getStringCellValue();
break;
case BOOLEAN: //布尔型
val = String.valueOf(cell.getBooleanCellValue());
break;
case BLANK: //空白
val = cell.getStringCellValue();
break;
case ERROR: //错误
val = "";
break;
case FORMULA: //公式
try {
val = String.valueOf(cell.getStringCellValue());
} catch (IllegalStateException e) {
val = String.valueOf(cell.getNumericCellValue());
}
break;
default:
val = cell.getRichStringCellValue() == null ? null : cell.getRichStringCellValue().toString();
}
return val;
}
}
评论区
请写下您的评论...
猜你喜欢
weblog
1096
java使用easypoi批量导入excel实体类:importcn.afterturn.easypoi.excel.annotation.Excel
weblog
2440
java使用easypoi导出并下载excel文件简单导出测试如图:一、pom文件dependencygroupIdcn.afterturn/groupIdartifactIdeasypoi
weblog
5602
java使用easypoi导出excel时进行值替换如导出性别:数据库中储存的是数字,1代表男,2代表女。导出的时候需要是汉字。在实体类中使用@Excel注解。 @Excel(name="性别
算法基础
1928
什么是jxlsjxls是一个简单的、轻量级的excel导出库,使用特定的标记在excel模板文件中来定义输出格式和布局。其实java中成熟的excel导出工具有pol、jxl,但他们都是使用java
weblog
2127
java使用原生jdbc连接数据库获取数据或执行sql语句(mysql) publicvoidtest2(){ try{ //加载MySql的驱动类 Class.forName
blog
java使用欧几里得算法计算比例的方法
数据结构与算法
1444
java使用欧几里得算法计算比例的方法 publicstaticvoidmain(String[]args){ System.out.println(bili(2,6
java基础
6216
一、获取系统临时文件目录二、java的系统属性有哪些File.createTempFile创建临时文件一、获取系统临时文件目录通过java的系统属性获取Stringtmpdir
blog
jxls导出报表单元格设置自适应行高
算法基础
2641
如何使用jslx请参考之前写的文章:http://www.jiajiajia.club/blog/artical/76vv9kuy36j4/454添加配置
最新发表
归档
2018-11
12
2018-12
33
2019-01
28
2019-02
28
2019-03
32
2019-04
27
2019-05
33
2019-06
6
2019-07
12
2019-08
12
2019-09
21
2019-10
8
2019-11
15
2019-12
25
2020-01
9
2020-02
5
2020-03
16
2020-04
4
2020-06
1
2020-07
7
2020-08
13
2020-09
9
2020-10
5
2020-12
3
2021-01
1
2021-02
5
2021-03
7
2021-04
4
2021-05
4
2021-06
1
2021-07
7
2021-08
2
2021-09
8
2021-10
9
2021-11
16
2021-12
14
2022-01
7
2022-05
1
2022-08
3
2022-09
2
2022-10
2
2022-12
5
2023-01
3
2023-02
1
2023-03
4
2023-04
2
2023-06
3
2023-07
4
2023-08
1
2023-10
1
2024-02
1
2024-03
1
2024-04
1
标签
算法基础
linux
前端
c++
数据结构
框架
数据库
计算机基础
储备知识
java基础
ASM
其他
深入理解java虚拟机
nginx
git
消息中间件
搜索
maven
redis
docker
dubbo
vue
导入导出
软件使用
idea插件
协议
无聊的知识
jenkins
springboot
mqtt协议
keepalived
minio
mysql
ensp
网络基础
xxl-job
rabbitmq
haproxy
srs
音视频
webrtc
javascript
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。