Excel 主要有两种格式,xls和xlsx, xls 为2003版及以下Excel,xlsx为2007版及以上Excel。
Apache POI 提供相对应的HSSF和XSSF对应。
对于一个Excel来说,有哪些基本的构成呢?
Sheet:搜了一下叫工作表。Excel可以有多个Sheet。
Row :行
Cell:单元格
Column:列

可以用POI 做什么呢?
功能不外乎对上面的那些基本构成的增删查改了,Excel还可以设置字体颜色,大小等等。
代码都使用XSSF相关的包。
xlsx文件的读取和输出
// 文件的读取 Workbook wb = new XSSFWorkbook(new FileInputStream("workbook.xlsx")); //文件的输出
try (OutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
wb.write(fileOut);
}
Sheet相关的操作:创建,获取
Workbook wb = new XSSFWorkbook(new FileInputStream("workbook.xlsx"));
//创建工作表
Sheet sheet = wb.createSheet("new sheet");
//根据名字获取工作表
Sheet newSheet = wb.getSheet("new sheet");
try (OutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
wb.write(fileOut);
}
Row相关的操作:创建,获取
//创建工作簿
Sheet sheet = wb.createSheet("new sheet");
//创建Row
Row row = sheet.createRow(0);
//获取Row
Row rowFirstRow = sheet.getRow(0);
Cell相关的操作 :创建,获取,设置Cell内容,设置某一段单元格某部分字体格式
Cell 单元格的类型
数字,字符串,公式,空白,布尔类型,错误()
//创建工作簿
Sheet sheet = wb.getSheet("new sheet");
//创建Row
Row row = sheet.createRow(0);
//创建单元格并设置值
row.createCell(0).setCellValue(new Date());
row.createCell(1).setCellValue(new XSSFRichTextString("123123123"));
row.createCell(2).setCellValue(true);
//设置字体
Font font = wb.createFont();
font.setColor(IndexedColors.RED.getIndex());
XSSFRichTextString xssfRichTextString = new XSSFRichTextString("0123456789");
// 对012采用字体
xssfRichTextString.applyFont(0,3,font);
row.createCell(3).setCellValue(xssfRichTextString);
Column相关的操作 :设置列宽
XSSFSheet sheet = wb.createSheet("规则列表");
// 宽度的单位是字符宽度的1/256
sheet.setColumnWidth(0,255*15);
来源:https://www.cnblogs.com/alway-july/p/9235568.html