Java操作poi导出Excel自定义字体颜色
Java操作poi导出Excel自定义字体颜色
- 功能介绍
- POI操作Excel
- 第一步创建一个导出的工具类
- 整体定义表格字体样式
- 自定义表格字体样式
- 总结
功能介绍
Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“简洁版的模糊实现”。
POI操作Excel
第一步下载一个poi的jar包,根据当前Spring的版本选择一个适合的poi版本,此文使用的是poi3.0.1版本,闲话不多说上代码;
第一步创建一个导出的工具类
public class ExcelUtils {/*** 导出Excel* @param sheetName sheet名称* @param title 标题* @param values 内容* @param wb HSSFWorkbook对象* @return*/public static HSSFWorkbook getHSSFWorkbook(String sheetName, String []title, String [][]values, HSSFWorkbook wb){// 第一步,创建一个HSSFWorkbook,对应一个Excel文件if(wb == null){wb = new HSSFWorkbook();}// 第二步,在workbook中添加一个sheet,对应Excel文件中的sheetHSSFSheet sheet = wb.createSheet(sheetName);// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制HSSFRow row = sheet.createRow(0);// 第四步,创建单元格,并设置值表头 设置表头居中HSSFCellStyle style = wb.createCellStyle();style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式/**此段代码用于设置自定义样式代码详情看下方详解**//**此段代码用于设置自定义样式代码详情看下方详解**///声明列对象HSSFCell cell;//创建标题for(int i=0;i<title.length;i++){cell = row.createCell(i);cell.setCellValue(title[i]);cell.setCellStyle(style);}//创建内容for(int i=0;i<values.length;i++){row = sheet.createRow(i + 1);for(int j=0;j<values[i].length;j++){//将内容按顺序赋给对应的列对象row.createCell(j).setCellValue(values[i][j]);}}return wb;}}
本人引用的HSSFWorkbook对象也可以使用XSSFWorkbook对象具体看Excel使用的版本;
整体定义表格字体样式
整体设置:将一个表格中的所有内容设置为一种颜色:
如果需要将表头与内容设置成一个颜色的字体的话在上文代码中写入表头与写入内容循环中使用一个HSSFCell 与HSSFCellStyle 对象即可,如需要表头内容字体颜色不一样则需要单独声明HSSFCellStyle对象;
代码:
//声明一个字体对象Font font = null;//创建一个字体对象font = workbook.createFont();//给字体对象设置颜色属性font.setColor(HSSFColor.RED.index);//将字体对象放入XSSFCellStyle对象中style.setFont(font);//将样式放入Cell对象中cell.setCellStyle(style);/***最后按照上文代码将写入内容放入cell.setCellValue()中* 如果需要将表头字体颜色与内容字体颜色分开则需要新创建一个XSSFCellStyle将Font对象放入其中* 再将新的XSSFCellStyle对象放入cell.setCellStyle(style)中*** */
以上是整体定义表格字体颜色代码
自定义表格字体样式
自定义设置:与整体设置不同自定义设置字体样式需要创建CreationHelper对象与RichTextString数据类型;
然后通过RichTextString str = helper.createRichTextString()这样的方式将要改变的字体样式的单个内容放入到该方法中
然后创建Font字体对象设置颜色样式将Font对象放入str.applyFont(font)方法中;
代码:
//创建CreationHelper对象CreationHelper helper = workbook.getCreationHelper();//创建内容for(int i=0;i<values.length;i++){XSSFCell cell1 = row.createCell(j);//声明RichTextString类型;RichTextString str =null;//将需要设置颜色的内容放入RichTextString中str=helper.createRichTextString(values[i][j]);//声明字体样式font.setColor(HSSFColor.RED.index);//调用添加字体对象的方法将字体对象写入RichTextString中str.applyFont(font);//将RichTextString放入Cell对象中cell1.setCellValue(str);}
总结
以上是poi对于Excel字体样式自定义颜色的代码,对于poi还有很多功能日后会继续更新,如有错误请评论指出,如有雷同请多包涵;
Java操作poi导出Excel自定义字体颜色相关推荐
- java excel 导出图片_JAVA 使用 POI 导出 EXCEL 自定义背景颜色
开发中常用表格导入和导出 Excel 是常见的功能. 在这里分享下使用 POI 导出表格的简单实现,也是为大家提供个思路吧,抛砖引玉,话不多说直接上代码. 1.项目引入 maven 依赖 <!- ...
- POI导出excel设置字体颜色,背景颜色,自定义颜色
最近项目中用到了POI导出功能.以下技术供大家学习 完整代码如下: CellStyle style = wb.createCellStyle(); style.setBorderBottom(Cell ...
- POI导出EXCEL自定义背景颜色
背景:课程导出成excel,背景颜色设置为课程自定义颜色. 说明:代码中类未提供,看关键代码 效果图: 源码: public class Test {public static void main(S ...
- java中poi导出Excel表格(前台流文件接收)
java中poi导出Excel表格,前端以流的方式接收,而非直接生成文件再下载,解决多台服务器部署后,路径地址不统一导致的下载问题. 生成Excel示例图: 2.代码说明 ① 在上次的基础上增加了底部 ...
- java利用poi导出excel功能-附带图片导出
java利用poi导出excel功能-附带图片导出 写在前面 最近刚离职,闲来无事,于是把上两家公司都有碰到过的需求但都没有去研究实现:即导出带图片的excel报表.于是就折腾了一下这个功能,研究出来 ...
- POI导出excel--设置字体,颜色,行高自适应,列宽自适应,锁住单元格,合并单元格
1. 前言 poi框架可以支持我们在java代码中, 将数据导出成excel , 在上一篇 如何使用POI导出excel表格,以及处理浏览器无法识别下载文件的问题 中已经详细的进行了介绍 , 但是实际 ...
- Java使用POi导出Excel(包含图片)
Java使用poi组件导出excel报表,能导出excel报表的还可以使用jxl组件,但jxl想对于poi功能有限,jxl应该不能载excel插入浮动层图片,poi能很好的实现输出excel各种功能, ...
- Java和poi导出excel报表
一:poi jar下载地址:点击打开链接: 二:工程截图: 三:运行效果截图: 四:源代码: Student.java: package com.poi.bean;import java.util.D ...
- java使用poi导出Excel表发回浏览器或是保存到本地
在实际工作中不可避免的会遇上统计.导出报表的工作,我自己整理了一份导出Excel代码放到这里,即为了分享知识,也是对自己的总结 首先导入依赖 <dependency><groupId ...
最新文章
- delphi 窗体透明详解TransparentColorValue,窗体透明控件不透明
- jquery在ie浏览器下中文乱码的问题
- 如何在Excel中使用VB宏连接SAP系统
- IdHttpServer实现webservice
- 【VB.NET】实验 控件综合运用——“五一”商城大促の模拟
- python新建文件夹口令_Python脚本破解压缩文件口令实例教程(zipfile)
- luoguP3723 HNOI2017 礼物
- 实战爬虫:利用python中itchat模块给心爱的人每天发天气预报
- iOS开发常见的宏定义(实用)
- 起源故事:瓮城、沙盒与可信计算
- matlab对一个数组进行补零,matlab 输出 整数 补0
- 小说平台系统开发(PHP)
- 关于Log4j 1.x 升级Log4j 2.x 那些事
- Zynga以特别的《CSR Racing 2》系列活动庆祝布加迪110周年
- iOS自动化测试需求实现(iOS按键精灵类似)
- word打开出错,要进入安全模式问题
- eyebeam电话呼叫软件使用及配置方法
- google map 看经度和纬度
- C++数据结构实验--图的基本操作
- Spatial Pyramid Matching