单元格的操作:
对齐方式
cellStyle.setAlignment(设置单元格水平方向对齐方式);
cellStyle.setVerticalAlignment(设置单元格垂直方向对齐方式);
填充色
cellStyle.setFillBackgroundColor(IndexedColors.BLUE.getIndex());背景色;BLUE为颜色可以修改
cellStyle.setFillForegroundColor(IndexedColors.AQUA.getIndex());前景色;AQUA同上
cellStyle.setFillPattern(CellStyle.ALIGN_CENTER);背景色的样式?这是必要的; ALIGN_CENTER样式可修改
边框样式颜色操作 :如果合并了单元格可能样式被覆盖不显示
cellStyle.setBorderBottom(CellStyle.BORDER_THIN);底部边框 BORDER_THIN样式可修改
cellStyle.setBottomBorderColor(IndexedColors.BLUE.getIndex());底部边框颜; BLUE可修改
单元格合并及单元格宽高设置
HSSFFont font = wook.createFont();//这是设置字体大小颜色时必须的一步,创建字体对象,单元格合并归属工作页管理;
sh.addMergedRegion(new CellRangeAddress(起始行,结束行,起始列,结束列)这个对象专门管理合并的);
row.setHeightInPoints(数值);//设置行高
sheet.setDefaultColumnWidth(50);//这是设置所有单元格的宽度
字体处理及单元格换行
HSSFFont font = sheet.createFont();
//设置字体首先要先引入一个字体的接口
font.setFontHeightInPoints((short) 24);//设置字体高度?24大小可修改(short)不改
font.setFontName("Courier new");//设置什么样式的字体比如宋体什么的 Courier new字体样式可修改
font.setItalic(true);//倾斜字体
cellStyle.setFont(font);
//换行的话加一个\n就可以但是在样式中要设置他可以换行
cellStyle.setWrapText(true);//设置可以换行
row.setHeightInPoints(2*sh.getDefaultRowHeightInPoints());//设置行高是默认行高的两倍;sh.getDefaultRowHeightInPoints()工作页的默认行高
sh.autoSizeColumn(2);//调整单元格宽度
小dome:
public static void main(String[] args) throws Exception {
HSSFWorkbook wook = new HSSFWorkbook();
HSSFSheet sheet;
HSSFFont font = wook.createFont();//这是设置字体大小颜色时必须的一步,创建字体对象
sheet=wook.createSheet("sheet1");
HSSFCellStyle style;
HSSFRow row;
HSSFCell cell;
style=wook.createCellStyle();//创建style对象
row=sheet.createRow(0);
cell=row.createCell(0);
sheet.addMergedRegion(new CellRangeAddress(0,3,0,1));//合并单元格参数分别是起始行,结束行,起始列,结束列
style.setFillForegroundColor(IndexedColors.AQUA.getIndex());//这个是前景图设置颜色;
style.setFillPattern(CellStyle.ALIGN_FILL);//这个是前景图的样式
style.setBorderBottom(IndexedColors.BLACK.getIndex());//这是设置下边框的颜色
style.setBottomBorderColor(CellStyle.ALIGN_FILL);//设置边框的样式
cell.setCellValue("gouzi");//这是设置单元格的内容
style.setAlignment(HSSFCellStyle.ALIGN_CENTER_SELECTION);//这是设置单元格内容的水平位置
style.setVerticalAlignment(HSSFCellStyle.ALIGN_CENTER);//这是设置单元格内容的垂直位置
font.setFontHeightInPoints((short)24);//这是设置字体的大小,他有一个借口是有工作簿创建的
style.setFont(font);//这是吧字体的大小付给样式
sheet.setDefaultColumnWidth(50);//这是设置所有单元格的宽度
cell.setCellStyle(style);//这一步是必须的 如果没有这一步所有的样式将不会设置到单元格中
FileOutputStream out=new FileOutputStream("D:/javafdd.xlsx");//这是输出流将内容输出到指定的位置
wook.write(out);//通过工作簿把内容输入
out.close();//关闭流
}