最全POI简介,以及使用POI技术实现Excel文件的导入导出案例,消息队列面试题

难道这样就够了吗?不,远远不够!

提前多熟悉阿里往年的面试题肯定是对面试有很大的帮助的,但是作为技术性职业,手里有实打实的技术才是你面对面试官最有用的利器,这是从内在散发出来的自信。

备战阿里时我花的最多的时间就是在学习技术上,占了我所有学习计划中的百分之70,这是一些我学习期间觉得还是很不错的一些学习笔记

我为什么要写这篇文章呢,其实我觉得学习是不能停下脚步的,在网络上和大家一起分享,一起讨论,不单单可以遇到更多一样的人,还可以扩大自己的眼界,学习到更多的技术,我还会在csdn、博客、掘金等网站上分享技术,这也是一种学习的方法。

今天就分享到这里了,谢谢大家的关注,以后会分享更多的干货给大家!

阿里一面就落马,恶补完这份“阿里面试宝典”后,上岸蚂蚁金服

阿里一面就落马,恶补完这份“阿里面试宝典”后,上岸蚂蚁金服

image.png

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

// 6.保存在磁盘中 流 文件名的后缀必须有.xls

hssfWorkbook.write(new FileOutputStream(“E://demo.xls”));

}

}

案例2:

模拟从数据库查到的所有用户及用户信息导出到excel文件中

@RequestMapping(“/exportAll”)

public void exportAll(HttpServletResponse resp){

//模拟从数据库查到的所有用户及用户信息

List users = new ArrayList();

User user = new User(“1”,“张三 1”,“2019-8-10”);

User user1 = new User(“2”,“张三 2”,“2019-8-10”);

User user2 = new User(“3”,“张三 3”,“2019-8-10”);

User user3 = new User(“4”,“张三 4”,“2019-8-10”);

User user4 = new User(“5”,“张三 5”,“2019-8-10”);

User user5 = new User(“6”,“张三 6”,“2019-8-10”);

User user6 = new User(“7”,“张三 7”,“2019-8-10”);

User user7 = new User(“8”,“张三 8”,“2019-8-10”);

users.add(user);

users.add(user1);

users.add(user2);

users.add(user3);

users.add(user4);

users.add(user5);

users.add(user6);

users.add(user7);

//创建工作薄

HSSFWorkbook workbook = new HSSFWorkbook();

//创建工作表

HSSFSheet sheet = workbook.createSheet(“用户信息”);

//设置列宽 第一个参数:列索引 第二个参数:列宽

sheet.setColumnWidth(2, 4500);

//创建导出样式

HSSFCellStyle cellStyle = workbook.createCellStyle();

//创建字体

HSSFFont font = workbook.createFont();

//设置字体颜色

font.setColor(HSSFFont.COLOR_RED);

//设置加粗

font.setBold(true);

//设置字体

font.setFontName(“宋体”);

//设置居中

cellStyle.setAlignment(CellStyle.ALIGN_CENTER);

//管理字体样式

cellStyle.setFont(font);

//创建标题栏

HSSFRow row = sheet.createRow(0);

HSSFCell cell = null;

String[] titles = {“编号”,“真实姓名”,“出生年月”};

for (int i = 0; i < titles.length; i++) {

cell = row.createCell(i);

cell.setCellValue(titles[i]);

//标题行使用样式

cell.setCellStyle(cellStyle);

}

for (int i = 1; i <= users.size(); i++) {

//创建数据行对象

row = sheet.createRow(i);

//数据行第一列设值

cell = row.createCell(0);

cell.setCellValue(users.get(i-1).getUserId());

//数据行第二列设值

cell = row.createCell(1);

cell.setCellValue(users.get(i-1).getRealname());

//数据行第三列设值

cell = row.createCell(2);

cell.setCellValue(users.get(i-1).getDharmaName());

}

String fileName = “用户报表(”+new

SimpleDateFormat(“yyyy-MM-dd”).format(new Date())+“).xls”;

//处理中文下载名乱码

try {

fileName = new String(fileName.getBytes(“utf-8”),“utf-8”);

//设置 response

resp.setContentType(“application/vnd.ms-excel”);

resp.setHeader(“content-disposition”,“attachment;filename=”+fileN

ame);

workbook.write(resp.getOutputStream());

workbook.close();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

3、POI导入

@RequestMapping(“/uploadIn”)

@ResponseBody

public Map uploadIn(MultipartFile multipartFile) throws IOException {

//输出文件名

logger.info("----------文件名为: "+multipartFile.getOriginalFilename());

//1,获取流对象

InputStream inputStream = multipartFile.getInputStream();

// 2.通过poi解析流 得到 Excel文件对象

HSSFWorkbook workbook = new HSSFWorkbook(inputStream);

// 3.通过对象获取数据 得到表

HSSFSheet sheet = workbook.getSheetAt(0);

// 4.通过表 得到行

int lastRowNum = sheet.getLastRowNum();

//定义计数器,计算批量导入多少条数据

int sum = 0;

for (int i = 1; i <= lastRowNum; i++) {

Guru guru = new Guru();

HSSFRow row = sheet.getRow(i);

// 获取单元格

double guruId = row.getCell(0).getNumericCellValue();

guru.setGuruId((int) guruId);

guru.setGuruName(row.getCell(1).getStringCellValue());

guru.setGuruImage(row.getCell(2).getStringCellValue());

guru.setGuruNickname(row.getCell(3).getStringCellValue());

guru.setGuruStatus((int) row.getCell(4).getNumericCellValue());

System.out.println(guru);

//执行添加的SQL

int insert = guruMapper.insert(guru);

//统计添加成功的条数

sum+=insert;

}

Map map = new HashMap();

map.put(“flag”, sum+“”);

return map;

}

页面代码:

上传Excel文件:<input class=“easyui-filebox” name=“multipartFile”

最后

小编利用空余时间整理了一份《MySQL性能调优手册》,初衷也很简单,就是希望能够帮助到大家,减轻大家的负担和节省时间。

关于这个,给大家看一份学习大纲(PDF)文件,每一个分支里面会有详细的介绍。

image

这里都是以图片形式展示介绍,如要下载原文件以及更多的性能调优笔记(MySQL+Tomcat+JVM)!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

的介绍。

[外链图片转存中…(img-KB8mDalF-1715579454599)]

这里都是以图片形式展示介绍,如要下载原文件以及更多的性能调优笔记(MySQL+Tomcat+JVM)!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 23
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值