您现在的位置是:首页 > java技术交流java技术交流
springboot 使用Apache POI Excel文件读取和写入
上善若水2021-01-16 11:29:49【java技术交流】 3033人已围观
简介Excel作为常用的办公文件,存储数据十分便捷,工作中也是大范围使用.在搜索找到最广泛的处理excel文件的包还Apache的工具包!试试excel在web项目中的基本使用吧! 基本工作 准备一个基本
Excel作为常用的办公文件,存储数据十分便捷,工作中也是大范围使用.在搜索找到最广泛的处理excel文件的包还Apache的工具包!
试试excel在web项目中的基本使用吧!
基本工作 准备一个基本的springboot项目 略
导包
导入最新org.apache.poi 目前最新的是4.1.2
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
编写简单页excel.html面测试上传和下载
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>测试上传demo</title>
</head>
<body>
<form action="/uploadExcel" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="提交">
</form>
<a href="/downExcel">导出excel</a>
</body>
</html>
编写控制器方法
@GetMapping("/excel")
public String excel() {
return "excel";
}
@GetMapping("/downExcel")
public String downExcel(HttpServletResponse response) throws IOException {
String[] head = {"头1", "头1", "头3"};
List<String[]> values = new ArrayList<>();
for (int i = 0; i < 10; i++) {
values.add(new String[]{"php最好的语言" + i, "java天下第一" + i, "python我年轻我骄傲" + i});
}
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("Sheet1");
HSSFRow row = sheet.createRow(0);
row.createCell(0).setCellValue(head[0]);
row.createCell(1).setCellValue(head[1]);
row.createCell(2).setCellValue(head[2]);
for (int i = 1; i <= values.size(); i++) {
row = sheet.createRow(i);
for (int j = 0; j < values.get(i - 1).length; j++) {
HSSFCell cell = row.createCell(j);
cell.setCellValue(values.get(i - 1)[j]);
}
}
workbook.setActiveSheet(0);
response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition", "attachment;fileName=temp.xlsx");
ServletOutputStream outputStream = response.getOutputStream();
workbook.write(outputStream);
return null;
}
@PostMapping("/uploadExcel")
@ResponseBody
public List uploadExcel(@RequestParam(value = "file") MultipartFile file) throws IOException {
HSSFWorkbook workbook = new HSSFWorkbook(file.getInputStream());
//获取工作表
HSSFSheet sheet = workbook.getSheetAt(0);
List<List<String>> data=new ArrayList<>();
int lastRowNum = sheet.getLastRowNum();
for (int i = 0; i < lastRowNum; i++) {
//获取指定行
HSSFRow row = sheet.getRow(i);
if (row == null) {
continue;
}
List<String> rowList=new ArrayList<>();
short lastCellNum = row.getLastCellNum();
for (int j = 0; j < lastCellNum; j++) {
HSSFCell cell = row.getCell(j);
rowList.add(cell.getStringCellValue());
}
data.add(rowList);
}
workbook.close();
return data;
}
最后实现效果.
很赞哦! (3)
相关文章
随机图文
-
php把对象foreach 循环 IteratorAggregate遍历对象更简洁更简单 php进阶
我们知道把一个对象当做数组去循环操作可以直接,实现接口Iterator实现中的current()next()key()valid()rewind(),实际上php提供系统的IteratorAggreg -
那些好听音乐的神评论比笑话还搞笑
1.这首歌救过我的命,当年我的腿被石头压住,等了好久都没有人来救,我掏出手机放了这首歌,腿就自觉的抖了起来,把石头抖得粉碎,后来我得救了2.昨天戴着耳机听这首歌睡着了,第二天起来发现右耳机没声音了,到医院一检查,还好是耳朵聋了,耳机没事,吓死我了。3.自从听了这首歌,喝了几瓶啤酒,打了鸡血一样,把路边的宝马咂了稀巴烂,醒了才知道这么不怕死4.我一手扛着收音机放着此歌,蹬着三轮车就往高速 -
套路他(她)的抖音笑话段子集锦
1、你是属甚么的?虎。回答错误,你是属于我的。 2、你跑的快吗?很快啊!那我迫的到你吗? 3、“你有打火机吗?”“没有啊”“那你怎么点燃了我的心。” 4、“我知道有三个喜欢你!”“谁啊?”“我吖我吖我吖” 5、你可以对我笑一下吗?为什么?我这杯咖啡忘放糖了! 6、像一棵海草海草海草海草随波飘摇海草海草海草海草浪花里舞蹈;海草海草海草海草管它骇浪惊涛。 7、“我觉得你长得像我家一个亲戚”“谁啊”“我妈的女婿”、“我妈的儿媳妇儿" 8、你问我为什么没对象?有才华的长得丑,长得帅的挣钱少,挣钱多的不顾家,太顾 -
非常搞笑的笑话
1.一位出租车司机开车时看见前面有个疯狂骑着摩托车的人。在其后座上的小孩儿快要被甩出去了。司机追上那个人说:伙计,你的孩子快要掉下去了。此人听后回头一看,惊奇的问:儿子,你妈妈呢?2.小芳决定下个星期日结婚,她写信把这件大喜事告诉在外地打工的弟弟。信上这样写着:这个星期日,是我大洗的日子,请回。一个星期后,小芳收到一个大包裹和一封信,是弟弟寄来的。信的内容是:劳动紧张,不能回家,只得将脏衣服寄