java POI Excel 单元格样式
正如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 单元格样式的更多相关文章
- 转:Java修改Excel单元格的数据及格式
https://blog.csdn.net/aking21alinjuju/article/details/6001153?locationNum=2 继前两节的Java读取.写入Excel后,本期将 ...
- poi 升级至4.x 的问题总结(POI Excel 单元格内容类型判断并取值)
POI Excel 单元格内容类型判断并取值 以前用 cell.getCachedFormulaResultType() 得到 type 升级到4后获取不到了 换为:cell.getCellType( ...
- java poi 合并单元格
java poi 合并单元格 2017年03月29日 16:39:01 翠烟你懊恼 阅读数:26561 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.n ...
- java poi 合并单元格后边框问题
在项目中用poi合并单元格,但发现边框会有不显示的问题. 在网上搜集了答案,来记录一下. 解决方法: 将每个没用到的单元格都设空值. 例如: HSSFCell cell = row.createCel ...
- java POI excel 导出复合样式(一个单元格两个字体)
前言:java poi 导出 excel 时,需要设置一个单元格有多个字体样式,有点类似于富文本. 想要达到的效果(一个单元格里): 我使用的 poi 版本是 <dependency> & ...
- POI HSSFCellStyle 设置 Excel 单元格样式
POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb ...
- Java 在Excel单元格中应用一种/多种字体样式
在Excel表格中,设置单元格字体样式时,可以对单元格内的所有字符应用同一样式,即获取指定单元,应用样式即可:另外也可以对单元格内的不同字符内容应用不同字体样式,即获取单元格中的字符位置,应用样式:本 ...
- java poi 获取单元格值时间
完整帮助类:JAVA poi 帮助类 /* * poi特殊日期格式:数字格式化成-yyyy年MM月dd日,格式 * */ private static ArrayList<String> ...
- JAVA poi设置单元格背景颜色
import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.ss.usermodel.Ce ...
随机推荐
- Java递归算法经典实例(兔子问题、阶乘、1到100累加)
https://blog.csdn.net/isitman/article/details/61199070
- 数论(8):min_25 筛(扩展埃氏筛)
min_25 筛介绍 我们考虑这样一个问题. \[ans=\sum_{i = 1}^nf(i)\\ \] 其中 \(1 \le n \le 10^{10}\) 其中 \(f(i)\) 是一个奇怪的函数 ...
- 搭建实用深度学习环境(Ubuntu16.10+Theano0.8.2+Tensorflow0.11.0rc1+Keras1.1.0)
在动手安装之前,首先要确定硬件,系统,准备安装软件的版本,确定这些软硬件之间是否相互支持或兼容.本文安装的主要环境和软件如下: Ubuntu16.10+CUDA8.0(cudnn5.1,CNMEM)+ ...
- Magicodes.IE 2.4版本发布
今天我们发布了2.4版本,这离不开大家对Magicodes.IE的支持,我们也对大家的意见以及需求不断的进行更新迭代,目前我们的发布频率平均在一周一个beta版本,一个月一个正式版本的更新,我们欢迎更 ...
- git 上传文件到 gitee 码云远程仓库
一 , 想将码云仓库里面的代码,抓取下来 1.git remote add origin 地址 2. git remote -v 3. it pull origin master 二 , 将自己创建 ...
- Python+Appium自动化测试(3)-编写自动化脚本
之前一篇博客已经讲述怎样手动使用appium-desktop启动测试机上的app,但我们实际跑自动化脚本的过程中,是需要用脚本调用appium启动app的,接下来就尝试写Python脚本启动app并登 ...
- Cesium.Viewer
<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8" ...
- java 画 哆啦A梦
package Demo;import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;impo ...
- GCC编译选项笔记
警告选项 -Wall:开启大多数的警告信息 -Wextra:开启额外的警告信息,比如参数未使用警告(-Wunused-parameter) -Werror:将警告当作错误,中断编译 优化选项 -O,- ...
- JAVA Schedule的Cron表达式
spring中用到的定时任务,一般用到的有Timer()和Schedule Cron表达式一般是程序的定时任务中所要起的..我们用的springboot中的@Schedule中,启动类中添加enabl ...