POI导出excel学习
Posted miaoww
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POI导出excel学习相关的知识,希望对你有一定的参考价值。
1.POI是什么?
- poi是Apache团队开发的专门面对用java处理Excel文档的工具。
- 官网地址:https://poi.apache.org/
2.操作流程
- 此部分通过代码解释使用POI将集合导出Excel的流程,在下一节中详细解释。
/** * 将集合转化为Excel表格 */ public void getExcel(List<List<String>> list) throws IOException { //1.标题 String[] title = {"招聘名称", "投递邮箱", "信息来源", "信息城市", "来源网站"}; //2.文件名 String fileName = new String("企业邮箱信息.xls".getBytes(), "utf-8"); //3.sheet名 String sheetName = new String("梧桐果、海投网、我司企业邮箱信息".getBytes(), "utf-8"); // 1.创建一个HSSFWorkbook,对应一个Excel文件 HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); // 2.在workbook中添加一个sheet,对应Excel文件中的sheet HSSFSheet sheet = hssfWorkbook.createSheet(sheetName); // 3.在sheet中添加表头第0行,也就是标题行 HSSFRow row = sheet.createRow(0); // 4.创建单元格,并设置单元格格式 HSSFCellStyle cellStyle = hssfWorkbook.createCellStyle(); cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//样式为中心水平对齐 //5.创建列单元格 for (int i = 0; i < title.length; i++) { HSSFCell cell = row.createCell(i); cell.setCellValue(title[i]); cell.setCellStyle(cellStyle); }//表头 for (int y = 0; y < list.size(); y++) { HSSFRow row1 = sheet.createRow(y + 1);//创建行 List<String> strings = list.get(y); for (int x = 0; x < title.length; x++) { HSSFCell cell = row1.createCell(x); cell.setCellValue(strings.get(x)); cell.setCellStyle(cellStyle);//创建列 } } File file = new File("C:\\Users\\bxk\\Desktop\\" + fileName); OutputStream outputStream = new FileOutputStream(file); hssfWorkbook.write(outputStream); outputStream.flush(); outputStream.close(); }
3.具体介绍
3.1文件信息
//1.标题 String[] title = {"招聘名称", "投递邮箱", "信息来源", "信息城市", "来源网站"}; //2.文件名 String fileName = new String("企业邮箱信息.xls".getBytes(), "utf-8"); //3.sheet名 String sheetName = new String("梧桐果、海投网、我司企业邮箱信息".getBytes(), "utf-8");
3.2 创建WorkBook
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); //对应一个Excel文件
demo:如下文就可以生成一个空白的、名为workbook的xlsk文档。注意当文件名为中文的时候可能会出现乱码。使用 new String("中文","utf-8") ,将解决乱码问题。
HSSFWorkbook wb = new XSSFWorkbook(); try (OutputStream fileOut = new FileOutputStream("workbook.xlsx")) { wb.write(fileOut); }
3.3创建Sheet
HSSFSheet sheet = hssfWorkbook.createSheet(sheetName);//对应Excel文件中的sheet 其中sheetName不能为 "" ,不能为 Null
String safeName = WorkbookUtil.createSafeSheetName("");//这样创建的sheetName ""会转化为empty,null会转化为“null”
这个sheet我当时也找了好一会,可能是实在是不熟悉Excel。sheet就表示excel中的某一张表,当然既然是表,就会有表名。所以sheetName的作用就是显示表名。上截图解释具体位置。
打开官网(上面有链接)——API介绍(Component)——快速指南(Quick Guide) 也能看到详细的例子和解释。
以上是关于POI导出excel学习的主要内容,如果未能解决你的问题,请参考以下文章
java如何导出excel表格,如果用poi,java代码如何实现.,求代码!!!