正如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); // 设置单元格样式
    }
}

  效果显示:

  

  二、我的边框

 

 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); // 底部边框
28 cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex()); // 底部边框颜色
29 cellStyle.setBorderLeft(CellStyle.BORDER_THIN); // 左边边框
30 cellStyle.setLeftBorderColor(IndexedColors.RED.getIndex()); // 左边边框颜色
31
32 cellStyle.setBorderRight(CellStyle.BORDER_THIN); // 右边边框
33 cellStyle.setRightBorderColor(IndexedColors.BLUE.getIndex()); // 右边边框颜色
34 cellStyle.setBorderTop(CellStyle.BORDER_MEDIUM_DASHED); // 上边边框
35 cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex()); // 上边边框颜色
36
37 cell.setCellStyle(cellStyle);
38 FileOutputStream fileOut=new FileOutputStream("D:\\Border.xls");
39 wb.write(fileOut);
40 fileOut.close();
41 }
42 }

  效果显示:

  

  三、我的背景

  

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 Bg {
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("看不清我");
25 CellStyle cellStyle=wb.createCellStyle();
26 cellStyle.setFillBackgroundColor(IndexedColors.AQUA.getIndex()); // 背景色
27 cellStyle.setFillPattern(CellStyle.BIG_SPOTS);
28 cell.setCellStyle(cellStyle);
29
30
31 Cell cell2=row.createCell(2);
32 cell2.setCellValue("我的前景色与众不同");
33 CellStyle cellStyle2=wb.createCellStyle();
34 cellStyle2.setFillForegroundColor(IndexedColors.RED.getIndex()); // 前景色
35 cellStyle2.setFillPattern(CellStyle.SOLID_FOREGROUND);
36 cell2.setCellStyle(cellStyle2);
37
38 FileOutputStream fileOut=new FileOutputStream("D:\\bg.xls");
39 wb.write(fileOut);
40 fileOut.close();
41 }
42 }

  效果显示:

  

  四、合并单元格

  

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 import org.apache.poi.ss.util.CellRangeAddress;
16
17 public class GetTogether {
18
19 public static void main(String[] args) throws Exception{
20 Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿
21 Sheet sheet=wb.createSheet("第一个Sheet页"); // 创建第一个Sheet页
22 Row row=sheet.createRow(1); // 创建一个行
23
24 Cell cell=row.createCell(1);
25 cell.setCellValue("我们被合并单元格啦!");
26
27 sheet.addMergedRegion(new CellRangeAddress(
28 1, // 起始行
29 2, // 结束行
30 1, // 其实列
31 2 // 结束列
32 ));
33
34
35 FileOutputStream fileOut=new FileOutputStream("D:\\Together.xls");
36 wb.write(fileOut);
37 fileOut.close();
38 }
39 }

  效果显示:

  

java POI Excel 单元格样式的更多相关文章

  1. 转:Java修改Excel单元格的数据及格式

    https://blog.csdn.net/aking21alinjuju/article/details/6001153?locationNum=2 继前两节的Java读取.写入Excel后,本期将 ...

  2. poi 升级至4.x 的问题总结(POI Excel 单元格内容类型判断并取值)

    POI Excel 单元格内容类型判断并取值 以前用 cell.getCachedFormulaResultType() 得到 type 升级到4后获取不到了 换为:cell.getCellType( ...

  3. java poi 合并单元格

    java poi 合并单元格 2017年03月29日 16:39:01 翠烟你懊恼 阅读数:26561   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.n ...

  4. java poi 合并单元格后边框问题

    在项目中用poi合并单元格,但发现边框会有不显示的问题. 在网上搜集了答案,来记录一下. 解决方法: 将每个没用到的单元格都设空值. 例如: HSSFCell cell = row.createCel ...

  5. java POI excel 导出复合样式(一个单元格两个字体)

    前言:java poi 导出 excel 时,需要设置一个单元格有多个字体样式,有点类似于富文本. 想要达到的效果(一个单元格里): 我使用的 poi 版本是 <dependency> & ...

  6. POI HSSFCellStyle 设置 Excel 单元格样式

    POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb ...

  7. Java 在Excel单元格中应用一种/多种字体样式

    在Excel表格中,设置单元格字体样式时,可以对单元格内的所有字符应用同一样式,即获取指定单元,应用样式即可:另外也可以对单元格内的不同字符内容应用不同字体样式,即获取单元格中的字符位置,应用样式:本 ...

  8. java poi 获取单元格值时间

    完整帮助类:JAVA poi 帮助类 /* * poi特殊日期格式:数字格式化成-yyyy年MM月dd日,格式 * */ private static ArrayList<String> ...

  9. JAVA poi设置单元格背景颜色

    import java.io.FileOutputStream; import java.io.IOException;   import org.apache.poi.ss.usermodel.Ce ...

随机推荐

  1. 简单聊聊 Ironic

    上一篇文章里我简单介绍了一下「裸金属」的概念,提到了 OpenStack 中的核心项目 Ironic,今天简单来聊聊它. Ironic 项目的吉祥物 Bare Metal 所以用 Bear 来做吉祥物 ...

  2. 星涛:采用java递归复制文件夹

    package com.botao; import java.io.*; /** * @author cbt28 */ public class FileUtil { public static St ...

  3. Unicode和多字节字符集

    今天自己写的发现一个输出路径程序使用unicode字符集只能输出单个的首字符,问了一下同事,改为使用多字节字符集,问题解决了 于是上网看了他们的区别:  很多没看完,但起码了解到字符集的演变过程, 转 ...

  4. 099 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 03 编写并测试Student类

    099 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 03 编写并测试Student类 本文知识点:编写并测试Subject类 说明: ...

  5. CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths 树上启发式合并(DSU ON TREE)

    题目描述 一棵根为\(1\) 的树,每条边上有一个字符(\(a-v\)共\(22\)种). 一条简单路径被称为\(Dokhtar-kosh\)当且仅当路径上的字符经过重新排序后可以变成一个回文串. 求 ...

  6. Linux系统编程—管道

    ▋****1. 管道的概念 管道,又名「无名管理」,或「匿名管道」,管道是一种非常基本,也是使用非常频繁的IPC方式. 1.1 管道本质 管道的本质也是一种文件,不过是伪文件,实际上是一块内核缓冲区, ...

  7. chrome文件上传 /获取文件路径c:/fakepath的解决办法

    jsp页面 <td style="text-align: left;padding-left: 20px;"> <img name="image&quo ...

  8. 用网桥和veth实现容器的桥接模式

    原理图如下 具体命令先不写了,有时间再写,主要还是用的上一篇说的知识.

  9. Android Jetpack从入门到精通(深度好文,值得收藏)

    前言 即学即用Android Jetpack系列Blog的目的是通过学习Android Jetpack完成一个简单的Demo,本文是即学即用Android Jetpack系列Blog的第一篇. 记得去 ...

  10. 【贪心算法】HDU 5747 Aaronson

    题目大意 vjudge链接 给你一个n,m,求解满足等式x0+2x1+4x2+...+2mxm=n的x0~xm的最小和(xi为非负整数) 数据范围 0≤n,m≤109 思路 n和m都在int范围内,所 ...