正如Html需要CSS一样,我们的POI生成的Excel同样需要样式才能更完美的表现我们的数据。下面还是从简单的例子出发,学习和了解POI的样式设计。
一、我的位置。
1 package com.myjava.poi; 2 3 import java.io.FileOutputStream; 4 import java.util.Date; 5 6 import org.apache.poi.hssf.usermodel.HSSFCell; 7 import org.apache.poi.hssf.usermodel.HSSFCellStyle; 8 import org.apache.poi.hssf.usermodel.HSSFRichTextString; 9 import org.apache.poi.hssf.usermodel.HSSFWorkbook; 10 import org.apache.poi.ss.usermodel.Cell; 11 import org.apache.poi.ss.usermodel.CellStyle; 12 import org.apache.poi.ss.usermodel.Row; 13 import org.apache.poi.ss.usermodel.Sheet; 14 import org.apache.poi.ss.usermodel.Workbook; 15 16 public class ExcelStyle { 17 18 public static void main(String[] args) throws Exception{ 19 Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿 20 Sheet sheet=wb.createSheet("第一个Sheet页"); // 创建第一个Sheet页 21 Row row=sheet.createRow(2); // 创建一个行 22 row.setHeightInPoints(30); 23 24 createCell(wb, row, (short)0, HSSFCellStyle.ALIGN_CENTER, HSSFCellStyle.VERTICAL_BOTTOM); 25 createCell(wb, row, (short)1, HSSFCellStyle.ALIGN_FILL, HSSFCellStyle.VERTICAL_CENTER); 26 createCell(wb, row, (short)2, HSSFCellStyle.ALIGN_LEFT, HSSFCellStyle.VERTICAL_TOP); 27 createCell(wb, row, (short)3, HSSFCellStyle.ALIGN_RIGHT, HSSFCellStyle.VERTICAL_TOP); 28 29 FileOutputStream fileOut=new FileOutputStream("D:\\工作簿.xls"); 30 wb.write(fileOut); 31 fileOut.close(); 32 } 33 34 /** 35 * 创建一个单元格并为其设定指定的对齐方式 36 * @param wb 工作簿 37 * @param row 行 38 * @param column 列 39 * @param halign 水平方向对其方式 40 * @param valign 垂直方向对其方式 41 */ 42 private static void createCell(Workbook wb,Row row,short column,short halign,short valign){ 43 Cell cell=row.createCell(column); // 创建单元格 44 cell.setCellValue(new HSSFRichTextString("我在这")); // 设置值 45 CellStyle cellStyle=wb.createCellStyle(); // 创建单元格样式 46 cellStyle.setAlignment(halign); // 设置单元格水平方向对其方式 47 cellStyle.setVerticalAlignment(valign); // 设置单元格垂直方向对其方式 48 cell.setCellStyle(cellStyle); // 设置单元格样式 49 } 50 51 52 }
效果显示:
二、我的边框
1 package com.myjava.poi; 2 3 import java.io.FileOutputStream; 4 import java.util.Calendar; 5 import java.util.Date; 6 7 import org.apache.poi.hssf.usermodel.HSSFWorkbook; 8 import org.apache.poi.ss.usermodel.Cell; 9 import org.apache.poi.ss.usermodel.CellStyle; 10 import org.apache.poi.ss.usermodel.CreationHelper; 11 import org.apache.poi.ss.usermodel.IndexedColors; 12 import org.apache.poi.ss.usermodel.Row; 13 import org.apache.poi.ss.usermodel.Sheet; 14 import org.apache.poi.ss.usermodel.Workbook; 15 16 public class Border { 17 18 public static void main(String[] args) throws Exception{ 19 Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿 20 Sheet sheet=wb.createSheet("第一个Sheet页"); // 创建第一个Sheet页 21 Row row=sheet.createRow(1); // 创建一个行 22 23 Cell cell=row.createCell(1); // 创建一个单元格 24 cell.setCellValue(4); 25 26 CellStyle cellStyle=wb.createCellStyle(); 27 cellStyle.setBorderBottom(CellStyle.BORDER_THIN); // 底部边框
效果显示:
三,我的背景
效果显示:
四,合并单元格
效果显示:
学习这些知识,尝试做一个艺术气息的Excel中吧。美化你的Excel中,让数据“悦耳”起来。