POI之Excel单元格样式

来源:互联网 发布:工作流程图 什么 软件 编辑:程序博客网 时间:2024/04/29 18:15

POI之Excel单元格样式

开心一笑

昨晚被一道神题考住了!

( )( ) ( )2 4 6 7 8

让我填空~我按照数列组合算了一下午都不对
最后,

答案是这样的
(门前大桥下)(游过一群鸭) (快来快来数一数)
2 4 6 7 8
我tm到现在都不想说话…

提出问题

POI报表如何设置单元格的样式?包括单元格的背景,边框,长度,高度等等…

解决问题

package com.hwy.test;import org.apache.poi.hssf.usermodel.*;import org.apache.poi.hssf.util.HSSFColor;import org.apache.poi.ss.usermodel.CellStyle;import org.apache.poi.ss.usermodel.Font;import org.apache.poi.ss.usermodel.IndexedColors;import java.io.FileOutputStream;/** * POI导出excel * */public class PoiTest{    public static void main( String[] args ){        //新建excel报表        HSSFWorkbook excel = new HSSFWorkbook();        //添加一个sheet,名字叫"我的POI之旅"        HSSFSheet hssfSheet = excel.createSheet("我的POI之旅");        hssfSheet.setDefaultColumnWidth(30);        hssfSheet.setDefaultRowHeight((short)(50*20));        //往excel表格创建一行,excel的行号是从0开始的        HSSFRow hssfRow = hssfSheet.createRow(0);        HSSFRow hssfRow1 = hssfSheet.createRow(1);        //第一行创建第一个单元格        HSSFCell hssfCell = hssfRow.createCell(8);        //设置第一个单元格的值        hssfCell.setCellValue("poi");        //生成单元格样式        HSSFCellStyle cellStyle = excel.createCellStyle();        //新建font实体        HSSFFont hssfFont = excel.createFont();        //设置字体颜色        hssfFont.setColor(HSSFColor.BLUE.index);        //设置删除线   strikeout(删除线)        hssfFont.setStrikeout(true);        //设置是否斜体        hssfFont.setItalic(true);        //字体大小        hssfFont.setFontHeightInPoints((short)24);        hssfFont.setFontName("楷体");        //粗体        hssfFont.setBoldweight(Font.BOLDWEIGHT_BOLD);        //设置下滑线   1:有下滑线 0:没有        hssfFont.setUnderline((byte)0);        //======================   start ==================================        //设置某个单元格的宽度为40个字符,8代表第9个单元格        //hssfSheet.setColumnWidth(8,40 * 256);        //设置某一行的高度为50个字符        //hssfRow.setHeight((short)(50 * 20));        //设置单元格的为蓝色背景        cellStyle.setFillBackgroundColor(IndexedColors.BLUE.getIndex());        //solid 填充  foreground  前景色        cellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);        //设置单元格居中显示        cellStyle.setAlignment(CellStyle.ALIGN_CENTER);        //下边框        cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);        //左边框        cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);        //上边框        cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);        //右边框        cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);        //======================== end =====================================        cellStyle.setFont(hssfFont);        hssfCell.setCellStyle(cellStyle);        FileOutputStream fout = null;        try{            fout = new FileOutputStream("D:/students.xls");            excel.write(fout);            fout.close();        }catch (Exception e){            e.printStackTrace();        }    }}

注意:
//设置某个单元格的宽度为40个字符,8代表第9个单元格
hssfSheet.setColumnWidth(8,40 * 256);
//设置某一行的高度为50个字符
hssfRow.setHeight((short)(50 * 20));

上面代码是设置某一类或某一行的宽度或者高度,而下面的代码是统一设置所有列或者行的高度

hssfSheet.setDefaultColumnWidth(30);
hssfSheet.setDefaultRowHeight((short)(50*20));

读书感悟

《跟钱钱学理财》

  • 坚持做一件事看似简单,比如每天去百度知道签到,每天都去领淘金币,每天早上起来都喝杯蜂蜜水……很多小事,我们都不一定能够连续不断地每天去做,因为我们怕重复,怕无聊,怕苦,怕累
  • 有时候,不怕你的梦想遥远,怕的是你不敢想,更不愿去敲响实现这个梦想的大门。
  • 有时候,成功真的就在一瞬间,一个决定,一个回眸,就可能让你念想千年。
  • 在我们都习惯阅读快新闻、想得到快知识的时候,还是要给自己说一句:不要贪心,再漫长的路,也要一步一个脚印走。
  • 用三公子的一句话作为今天的结束吧:人生,我保证好好对待你。
0 0
原创粉丝点击