POI简易帮助文档系列--给Excel设置样式
正如Html需要CSS一样,我们的POI生成的Excel同样需要样式才能更完美的表现我们的数据。下面还是从简单的例子出发,学习和了解POI的样式设计。
一、我的位置。
- package com.myjava.poi;
- import java.io.FileOutputStream;
- import java.util.Date;
- import org.apache.poi.hssf.usermodel.HSSFCell;
- import org.apache.poi.hssf.usermodel.HSSFCellStyle;
- import org.apache.poi.hssf.usermodel.HSSFRichTextString;
- import org.apache.poi.hssf.usermodel.HSSFWorkbook;
- import org.apache.poi.ss.usermodel.Cell;
- import org.apache.poi.ss.usermodel.CellStyle;
- import org.apache.poi.ss.usermodel.Row;
- import org.apache.poi.ss.usermodel.Sheet;
- import org.apache.poi.ss.usermodel.Workbook;
- public class ExcelStyle {
- public static void main(String[] args) throws Exception{
- Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿
- Sheet sheet=wb.createSheet("第一个Sheet页"); // 创建第一个Sheet页
- Row row=sheet.createRow(); // 创建一个行
- row.setHeightInPoints();
- createCell(wb, row, (short), HSSFCellStyle.ALIGN_CENTER, HSSFCellStyle.VERTICAL_BOTTOM);
- createCell(wb, row, (short), HSSFCellStyle.ALIGN_FILL, HSSFCellStyle.VERTICAL_CENTER);
- createCell(wb, row, (short), HSSFCellStyle.ALIGN_LEFT, HSSFCellStyle.VERTICAL_TOP);
- createCell(wb, row, (short), HSSFCellStyle.ALIGN_RIGHT, HSSFCellStyle.VERTICAL_TOP);
- FileOutputStream fileOut=new FileOutputStream("D:\\工作簿.xls");
- wb.write(fileOut);
- fileOut.close();
- }
- /**
- * 创建一个单元格并为其设定指定的对齐方式
- * @param wb 工作簿
- * @param row 行
- * @param column 列
- * @param halign 水平方向对其方式
- * @param valign 垂直方向对其方式
- */
- private static void createCell(Workbook wb,Row row,short column,short halign,short valign){
- Cell cell=row.createCell(column); // 创建单元格
- cell.setCellValue(new HSSFRichTextString("我在这")); // 设置值
- CellStyle cellStyle=wb.createCellStyle(); // 创建单元格样式
- cellStyle.setAlignment(halign); // 设置单元格水平方向对其方式
- cellStyle.setVerticalAlignment(valign); // 设置单元格垂直方向对其方式
- cell.setCellStyle(cellStyle); // 设置单元格样式
- }
- }
效果显示:
二、我的边框
- package com.myjava.poi;
- import java.io.FileOutputStream;
- import java.util.Calendar;
- import java.util.Date;
- import org.apache.poi.hssf.usermodel.HSSFWorkbook;
- import org.apache.poi.ss.usermodel.Cell;
- import org.apache.poi.ss.usermodel.CellStyle;
- import org.apache.poi.ss.usermodel.CreationHelper;
- import org.apache.poi.ss.usermodel.IndexedColors;
- import org.apache.poi.ss.usermodel.Row;
- import org.apache.poi.ss.usermodel.Sheet;
- import org.apache.poi.ss.usermodel.Workbook;
- public class Border {
- public static void main(String[] args) throws Exception{
- Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿
- Sheet sheet=wb.createSheet("第一个Sheet页"); // 创建第一个Sheet页
- Row row=sheet.createRow(); // 创建一个行
- Cell cell=row.createCell(); // 创建一个单元格
- cell.setCellValue();
- CellStyle cellStyle=wb.createCellStyle();
- cellStyle.setBorderBottom(CellStyle.BORDER_THIN); // 底部边框
- cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex()); // 底部边框颜色
- cellStyle.setBorderLeft(CellStyle.BORDER_THIN); // 左边边框
- cellStyle.setLeftBorderColor(IndexedColors.RED.getIndex()); // 左边边框颜色
- cellStyle.setBorderRight(CellStyle.BORDER_THIN); // 右边边框
- cellStyle.setRightBorderColor(IndexedColors.BLUE.getIndex()); // 右边边框颜色
- cellStyle.setBorderTop(CellStyle.BORDER_MEDIUM_DASHED); // 上边边框
- cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex()); // 上边边框颜色
- cell.setCellStyle(cellStyle);
- FileOutputStream fileOut=new FileOutputStream("D:\\Border.xls");
- wb.write(fileOut);
- fileOut.close();
- }
- }
效果显示:
三、我的背景
- package com.myjava.poi;
- import java.io.FileOutputStream;
- import java.util.Calendar;
- import java.util.Date;
- import org.apache.poi.hssf.usermodel.HSSFWorkbook;
- import org.apache.poi.ss.usermodel.Cell;
- import org.apache.poi.ss.usermodel.CellStyle;
- import org.apache.poi.ss.usermodel.CreationHelper;
- import org.apache.poi.ss.usermodel.IndexedColors;
- import org.apache.poi.ss.usermodel.Row;
- import org.apache.poi.ss.usermodel.Sheet;
- import org.apache.poi.ss.usermodel.Workbook;
- public class Bg {
- public static void main(String[] args) throws Exception{
- Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿
- Sheet sheet=wb.createSheet("第一个Sheet页"); // 创建第一个Sheet页
- Row row=sheet.createRow(); // 创建一个行
- Cell cell=row.createCell();
- cell.setCellValue("看不清我");
- CellStyle cellStyle=wb.createCellStyle();
- cellStyle.setFillBackgroundColor(IndexedColors.AQUA.getIndex()); // 背景色
- cellStyle.setFillPattern(CellStyle.BIG_SPOTS);
- cell.setCellStyle(cellStyle);
- Cell cell2=row.createCell();
- cell2.setCellValue("我的前景色与众不同");
- CellStyle cellStyle2=wb.createCellStyle();
- cellStyle2.setFillForegroundColor(IndexedColors.RED.getIndex()); // 前景色
- cellStyle2.setFillPattern(CellStyle.SOLID_FOREGROUND);
- cell2.setCellStyle(cellStyle2);
- FileOutputStream fileOut=new FileOutputStream("D:\\bg.xls");
- wb.write(fileOut);
- fileOut.close();
- }
- }
效果显示:
四、合并单元格
- package com.myjava.poi;
- import java.io.FileOutputStream;
- import java.util.Calendar;
- import java.util.Date;
- import org.apache.poi.hssf.usermodel.HSSFWorkbook;
- import org.apache.poi.ss.usermodel.Cell;
- import org.apache.poi.ss.usermodel.CellStyle;
- import org.apache.poi.ss.usermodel.CreationHelper;
- import org.apache.poi.ss.usermodel.IndexedColors;
- import org.apache.poi.ss.usermodel.Row;
- import org.apache.poi.ss.usermodel.Sheet;
- import org.apache.poi.ss.usermodel.Workbook;
- import org.apache.poi.ss.util.CellRangeAddress;
- public class GetTogether {
- public static void main(String[] args) throws Exception{
- Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿
- Sheet sheet=wb.createSheet("第一个Sheet页"); // 创建第一个Sheet页
- Row row=sheet.createRow(); // 创建一个行
- Cell cell=row.createCell();
- cell.setCellValue("我们被合并单元格啦!");
- sheet.addMergedRegion(new CellRangeAddress(
- , // 起始行
- , // 结束行
- , // 其实列
- // 结束列
- ));
- FileOutputStream fileOut=new FileOutputStream("D:\\Together.xls");
- wb.write(fileOut);
- fileOut.close();
- }
- }
效果显示:
学习这些知识,尝试做一个艺术气息的Excel吧。美化你的Excel,让数据“悦耳”起来。
POI简易帮助文档系列--给Excel设置样式的更多相关文章
- POI简易帮助文档系列--读取Excel文件
上篇博客通过简单的几行代码就学会了POI新建Excel文档的使用,本篇博客也从简单出发,通过查看POI的官网文档和一个简单的代码实例,学习怎么遍历出一个Excel文档的内容. package com. ...
- POI生成WORD文档
h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...
- POI生成word文档完整案例及讲解
一,网上的API讲解 其实POI的生成Word文档的规则就是先把获取到的数据转成xml格式的数据,然后通过xpath解析表单式的应用取值,判断等等,然后在把取到的值放到word文档中,最后在输出来. ...
- POI中文API文档
一. POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 二. HSSF概况 HSSF 是 ...
- Mac OS X将CSV格式转换为Excel文档格式,Excel转CSV中文乱码问题
一:在Mac上假设你使用Excel打开windows导出的CSV格式文档.你会发现表格中全部的的内容都显示在A列. 那么,怎样恢复正常呢,你能够将CSV格式的文档导入到Excel文档中,这样就正常显示 ...
- Poi之Word文档结构介绍
1.poi之word文档结构介绍之正文段落 一个文档包含多个段落,一个段落包含多个Runs,一个Runs包含多个Run,Run是文档的最小单元 获取所有段落:List<XWPFParagraph ...
- 用java语言通过POI实现word文档的按标题提取
最近有一个项目需要将一个word文档中的数据提取到数据库中.就去网上查了好多资料,最靠谱的就是用poi实现word文档的提取. 喝水不忘挖井人,我查了好多资料就这个最靠谱,我的这篇博客主要是借鉴htt ...
- 介绍一款jquery ui组件gijgo(含tree树状结构、grid表格),特点:简易、文档全清晰易懂、示例代码
http://gijgo.com gijgo组件 特点:简易.文档全-虽然是英文的但是清晰易懂可读性强.含示例代码(后端直接用原生.Net C# MVC的哦!非常合.Net开发胃口),网站网速快, ...
- java POI往word文档中指定位置插入表格
1.Service demo import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.a ...
随机推荐
- BZOJ2530 : [Poi2011]Party
注意到随机一组贪心解得到的团的大小不小于$\frac{N}{3}$的概率是很大的,所以一直随机下去,直到找到一组解即可,随机次数是常数级别的,所以复杂度为$O(n^2)$. #include<c ...
- 移动APP 中文输入法下的搜索优化
最近做了一个移动端的搜索功能,带有suggest.实现上并没有什么可说的,但是在后续优化上,特别是在中文输入法的情况下的优化使我学到一些新东西,所以决定写一篇文章. 下面是我简化后的基本功能实现,监听 ...
- CC150 - 11.2
Question: Write a method to sort an array of strings so that all the anagrams are next to each other ...
- 获取枚举类型Description特性的描述信息
C#中可以对枚举类型用Description特性描述. 如果需要对Description信息获取,那么可以定义一个扩展方法来实现.代码如下: public static class EnumExten ...
- [转] - SendMessage、PostMessage原理
SendMessage.PostMessage原理 本文讲解SendMessage.PostMessage两个函数的实现原理,分为三个步骤进行讲解,分别适合初级.中级.高级程序员进行理解,三个步骤分别 ...
- codeacademy
codeacademy http://link.zhihu.com/?target=https%3A//www.youtube.com/playlist%3Flist%3DPLP6DbQBkn9ymG ...
- PHP有两个不同的版本:4.x系列版本和5.x系列版本
在为用户提供动态内容方面,PHP和MySQL是一个强大的组合.这些年来,这两项产品已经跨越了它们最初的应用舞台,现在,一些世界上最繁忙的网站也在应用它们.虽然它们当初都是开源软件,只能在UNIX/Li ...
- Yii2.0 URL美化
1. 程序初始化注册文件,加入如下: 'urlManager' =>[ 'class' => 'yii\web\UrlManager', 'showScriptName' =>fal ...
- 暑假训练round 3 题解
今天做题运气出奇的好,除了几处小错误调试之后忘记改掉了……最后还AK了……虽然题目不难,学长也说是福利局,但是对个人的鼓励作用还是挺大的……至此暑假训练就结束了,也算没有遗憾……. 题解如下: Pro ...
- Apache Spark源码走读之10 -- 在YARN上运行SparkPi
y欢迎转载,转载请注明出处,徽沪一郎. 概要 “spark已经比较头痛了,还要将其运行在yarn上,yarn是什么,我一点概念都没有哎,再怎么办啊.不要跟我讲什么原理了,能不能直接告诉我怎么将spar ...