admin 管理员组

文章数量: 887006

apache poi 导出生成excel 2010

HSSFWorkbook : 这个类有读取和.xls 格式和写入Microsoft Excel文件的方法。它与微软Office97-2003版本兼容。

XSSFWorkbook : 这个类有读写Microsoft Excel和OpenOffice的XML文件的格式.xls或.xlsx的方法。它与MS-Office版本2007或更高版本兼容。

 

  • 一个Excel文件对应于一个Workbook对象
  • 一个Workbook可以有多个Sheet对象
  • 一个Sheet对象由多个Row对象组成
  • 一个Row对象是由多个Cell对象组成

 

Apache poi 导出生成excel 2010 的步骤;

excel 文件效果图:

第一步:导入jar包

<!-- .apache.poi/poi --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.17</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.17</version></dependency>

第二步:代码生成excel

package com.kainengse.poi;import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.streaming.SXSSFCell;
import org.apache.poi.xssf.streaming.SXSSFRow;
import org.apache.poi.xssf.streaming.SXSSFSheet;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.junit.Test;import java.io.FileOutputStream;/*** @author ZB* @description Apache poi 生成excel到本地* @date 2019-04-08*/
public class CreateExcel {@Testpublic void testCreateSheet () throws Exception {// 【SXSSFWorkbook----------->sheet----------->row------------>cell】// SXSSFWorkbook支持excel2010SXSSFWorkbook sw = new SXSSFWorkbook();// 表名SXSSFSheet sheet = sw.createSheet("成绩表");// 创建行 【第一行  从零开始】SXSSFRow row = sheet.createRow(0);// 创建列 【第一列  从零开始】SXSSFCell cell = row.createCell(0);//设置单元格内容cell.setCellValue("学员考试成绩一览表");//合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列sheet.addMergedRegion(new CellRangeAddress(0,0,0,3));// 创建样式CellStyle cellStyle = sw.createCellStyle();// 设置单元格的横向和纵向对齐方式cellStyle.setAlignment(HorizontalAlignment.CENTER);cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 给指定列设置样式cell.setCellStyle(cellStyle);SXSSFRow row1 = sheet.createRow(1);row1.createCell(0).setCellValue("姓名");row1.createCell(1).setCellValue("语文");row1.createCell(2).setCellValue("数学");row1.createCell(3).setCellValue("外语");SXSSFRow row2 = sheet.createRow(2);row2.createCell(0).setCellValue("张三");row2.createCell(1).setCellValue("89");row2.createCell(2).setCellValue("84");row2.createCell(3).setCellValue("83");SXSSFRow row3 = sheet.createRow(3);row3.createCell(0).setCellValue("李四");row3.createCell(1).setCellValue("88");row3.createCell(2).setCellValue("89");row3.createCell(3).setCellValue("81");// 新建导出流FileOutputStream fileOutputStream = new FileOutputStream("D:\\grade.xlsx");// 将文件写出sw.write(fileOutputStream);fileOutputStream.flush();fileOutputStream.close();sw.close();}
}

 

本文标签: apache poi 导出生成excel 2010