Java导出excel文件简单实现
2017-11-18 19:29
423 查看
惯例: 引用度娘的介绍
Apache POI [1] 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“可怜的模糊实现”。
Apache POI [1] 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“可怜的模糊实现”。
1、导入maven
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9</version> </dependency>
2、工具方法
/** * @param sheetName 表名 * @param header 表头数据 * @param body 主干数据 body.get(i) 对应 i+1行的所有数据 */ public static void generateExcel(String sheetName, List<String> header, List<List<String>> body, OutputStream out) { //新建excel报表 HSSFWorkbook excel = new HSSFWorkbook(); //添加一个sheet HSSFSheet hssfSheet = excel.createSheet(sheetName); //往excel表格创建一行,excel的行号是从0开始的 // 设置表头 HSSFRow firstRow = hssfSheet.createRow(0); for (int columnNum = 0; columnNum < header.size(); columnNum ++) { //创建单元格 HSSFCell hssfCell = firstRow.createCell(columnNum); //设置单元格的值 hssfCell.setCellValue(header.size() < columnNum ? "-" : header.get(columnNum)); } // 设置主体数据 for (int rowNum = 0; rowNum < body.size(); rowNum ++) { //往excel表格创建一行,excel的行号是从0开始的 HSSFRow hssfRow = hssfSheet.createRow(rowNum + 1); List<String> data = body.get(rowNum); for (int columnNum = 0; columnNum < data.size(); columnNum ++) { //创建单元格 HSSFCell hssfCell = hssfRow.createCell(columnNum); //设置单元格的值 hssfCell.setCellValue(data.size() < columnNum ? "-" : data.get(columnNum)); } } try { excel.write(out); } catch (IOException e) { e.printStackTrace(); } }
3、代码测试
public static void main(String[] args) { List<String> header = new ArrayList<>(); // 第一行数据 header.add("编号"); header.add("姓名"); header.add("性别"); header.add("手机号"); List<List<String>> body = new ArrayList<>(); List<String> data1 = new ArrayList<>(); // 第二行数据 data1.add("1001"); data1.add("张三"); data1.add("男"); data1.add("12345678900"); List<String> data2 = new ArrayList<>(); // 第三行数据 data2.add("1002"); data2.add("李四"); data2.add("男"); data2.add("12300000000"); body.add(data1); body.add(data2); try ( OutputStream out = new FileOutputStream("F:/test.xls") // 输出目的地 ) { POIUtil.generateExcel("sheetName", header, body, out); } catch (Exception e) { e.printStackTrace(); } }
相关文章推荐
- 【JavaWeb开发】使用java实现简单的Excel文件的导入与导出(POI)
- Java导出页面数据或数据库数据至Excel文件并下载,采用JXL技术,小demo(servlet实现)
- Java 实现导出excel表 POI/Java实现不同excel格式(*.xls、*.xlsx)文件的读取
- Java程序员从笨鸟到菜鸟之(一百零五)java操作office和pdf文件(三)利用jxl实现数据导出excel报表以及与POI的区别
- Java实现Excel文件导入导出(三)
- POI导出大量数据的简单解决方案(附源码)-Java-POI导出大量数据,导出Excel文件,压缩ZIP(转载自iteye.com)
- 使用POI实现在java程序中导入导出Excel文件数据
- Java-Maven-POI 简单导入导出Excel通用工具,默认使用基于poi实现
- 空间复杂度,实现从excel导出到txt文件中的java代码自动构建,逻辑条件不同实现则不同
- java简单实现爬虫、jsoup实现网页抓取、POI实现数据导出Excel
- 【java】实现导出Excel文件和XML文件
- Java程序员从笨鸟到菜鸟之(一百零五)java操作office和pdf文件(三)利用jxl实现数据导出excel报表以及与POI的区别
- Java程序员从笨鸟到菜鸟之(一百零四)java操作office和pdf文件(二)利用POI实现数据导出excel报表
- Java程序员从笨鸟到菜鸟之(一百零四)java操作office和pdf文件(二)利用POI实现数据导出excel报表
- Java 实现Excel导入导出(包含一些简单样式设置)工具类
- [java]实现导出Excel文件和XML文件
- Java实现最简单的在线打开保存Excel文件
- 怎么样用java代码去实现文件导出到Excel
- java实现 Excel文件的导入导出(1)
- JAVA中JSP应用导出Excel报表的简单实现以及中文乱码彻底解决(HTML)