参考:
https://www.cnblogs.com/liushisaonian/p/7098125.html
https://www.cnblogs.com/hanfeihanfei/p/7079210.html
需求:poi画出这样一张表并输出到本地
package com.poi.test.poi;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.util.CellRangeAddress;
public class PoiExcel {
public static void main(String[] args) throws Exception {
//创建一个excel对象
HSSFWorkbook wb = new HSSFWorkbook();
//创建一个sheet
HSSFSheet sheet = wb.createSheet();
//创建第一行
HSSFRow row1 = sheet.createRow(0);
//创建第一行的单元格
HSSFCell cell1 = row1.createCell(0);
//给第一个单元格填值
cell1.setCellValue("学员考试成绩一览表");
//合并第一个单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列
CellRangeAddress cellRangeAddress = new CellRangeAddress(0, 0, 0, 3);
//合并
int addMergedRegion = sheet.addMergedRegion(cellRangeAddress);
System.out.println(addMergedRegion+"...");
//创建第二行
HSSFRow row2 = sheet.createRow(1);
HSSFCell cell21 = row2.createCell(0);
cell21.setCellValue("姓名");
HSSFCell cell22 = row2.createCell(1);
cell22.setCellValue("班级");
row2.createCell(2).setCellValue("笔试成绩");
row2.createCell(3).setCellValue("机试成绩");
//创建第三行
HSSFRow row3 = sheet.createRow(2);
row3.createCell(0).setCellValue("张三");
row3.createCell(1).setCellValue("电子1411");
row3.createCell(2).setCellValue("90");
row3.createCell(3).setCellValue("80");
//创建第四行
HSSFRow row4 = sheet.createRow(3);
row4.createCell(0).setCellValue("李四");
row4.createCell(1).setCellValue("电子1412");
row4.createCell(2).setCellValue("91");
row4.createCell(3).setCellValue("81");
//创建第五行
HSSFRow row5 = sheet.createRow(4);
row5.createCell(0).setCellValue("王五");
row5.createCell(1).setCellValue("电子1413");
row5.createCell(2).setCellValue("93");
row5.createCell(3).setCellValue("83");
//开始输出到本地文件中d:\\poi生产/成绩表.xls
String path="d:\\poi生产";
String path1="d:\\poi生产/成绩表.xls";
//创建文件夹
File file = new File(path);
if(!file.exists()) {
System.out.println("poi生产文件夹不存在,开始创建...");
file.mkdirs();
}
//创建文件成绩表.xls
File file2 = new File(path1);
if(!file2.exists()) {
System.out.println("成绩表.xls不存在,开始创建...");
file2.createNewFile();
}
FileOutputStream fileOutputStream = new FileOutputStream(file2);
wb.write(fileOutputStream);
wb.close();
}
}
结果: