环球速递!Java利用POI实现导入导出Excel表格
本文实例为大家分享了Java利用POI实现导入导出Excel表格的具体代码,供大家参考,具体内容如下
一、Java利用POI实现导入导出Excel表格demo
1.引入依赖
(相关资料图)
org.apache.poi poi-ooxml 4.1.2
2.导入demo
2.1 controller层
/**
* Excel导入
*/
@PostMapping("/import")
public Result userImport2(@RequestParam("file") MultipartFile file) throws Exception{
Result result=userService.userImportExcel(file);
return result;
}2.2 service实现类层
public Result userImportExcel(MultipartFile file){
try {
InputStream inputStream = file.getInputStream();
XSSFWorkbook sheets = new XSSFWorkbook(inputStream);
//获取表单sheet 第一个
XSSFSheet sheetAt = sheets.getSheetAt(0);
//获取第一行
int firstRowNum = sheetAt.getFirstRowNum();
//最后一行
int lastRowNum = sheetAt.getLastRowNum();
//存入数据集合
List users=new ArrayList<>();
//遍历数据
for(int i=firstRowNum+1;i3.导出demo
3.1 controller层
/**
* 导出
* @param response
* @return
* @throws Exception
*/
@GetMapping("/export")
public Result userExport2(HttpServletResponse response) throws Exception{
Result result=userService.userExportExcel(response);
return result;
}3.2 service实现类
public Result userExportExcel(HttpServletResponse response) {
try {
//创建excel
XSSFWorkbook sheets = new XSSFWorkbook();
//创建行
XSSFSheet sheet = sheets.createSheet("用户信息");
//格式设置
XSSFCellStyle cellStyle = sheets.createCellStyle();
//横向居中
cellStyle.setAlignment(HorizontalAlignment.CENTER);
//创建单元格第一列
XSSFRow row = sheet.createRow(0);
//表头
this.titleExcel(row,cellStyle);
//查询全部的用户数据 mybatis-plus
List list = list();
//遍历设置值
for(int i=0;i二、Hutool工具类封装方法导出导入Excel
1.引入依赖
把poi封装到工具类方法里面
cn.hutool
hutool-all
5.7.20
org.apache.poi
poi-ooxml
4.1.2
2.导入demo
/**
* Excel导入
*/
@PostMapping("/import")
public Result userImport(@RequestParam("file") MultipartFile file) throws Exception{
System.out.println(file.toString());
//InputStream inputStream = multipartFile.getInputStream();
InputStream inputStream = file.getInputStream();
ExcelReader reader = ExcelUtil.getReader(inputStream);
//读取表的内容
List> list = reader.read(1);
List users = new ArrayList<>();
for(List
3.导出demo
/**
* Excel导出 方法一
*/
@GetMapping("/export")
public Result userExport(HttpServletResponse response) throws Exception{
//查询全部的用户数据
List list = userService.list();
//在内存里做操作,保存到浏览器
ExcelWriter writer = ExcelUtil.getWriter(true);
//自定义标题别名
writer.addHeaderAlias("uname","用户名");
writer.addHeaderAlias("upassword","密码");
writer.addHeaderAlias("usex","性别");
writer.addHeaderAlias("role","角色");
writer.addHeaderAlias("ulove","爱心值");
writer.addHeaderAlias("uphoto","电话号码");
writer.addHeaderAlias("uaddress","地址");
//一次性写出list内的对象的Excel,使用默认样式,强制输出标题
writer.write(list,true);
//设置浏览器响应格式
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
String filName= URLEncoder.encode("用户信息","UTF-8");
response.setHeader("Content-Disposition","attachment;filename="+filName+".xls");
ServletOutputStream outputStream=response.getOutputStream();
writer.flush(outputStream,true);
outputStream.close();
writer.close();
return Result.success();
} 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
X 关闭
X 关闭
- 1联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 2亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 3现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 4如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 5AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 6转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 7充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 8好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 9名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?
- 10亚马逊云科技成立量子网络中心致力解决量子计算领域的挑战

