POI之Excel单元格样式

开心一笑

昨晚被一道神题考住了!

( )( ) ( )2 4 6 7 8

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

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

视频教程

大家好,我录制的视频《Java之优雅编程之道》已经在CSDN学院发布了,有兴趣的同学可以购买观看,相信大家一定会收获到很多知识的。谢谢大家的支持……

视频地址:http://edu.csdn.net/lecturer/994

提出问题

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));

读书感悟

《跟钱钱学理财》

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿_毅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值