JAVA POI设置EXCEL单元格格式用法举例

 更新时间:2023年08月24日 08:54:31   作者:风萧萧1999  
这篇文章主要给大家介绍了关于JAVA POI设置EXCEL单元格格式用法的相关资料,POI中可能会用到一些需要设置EXCEL单元格格式的操作,需要的朋友可以参考下

前言

本文将介绍POI Excel for Java的格式设置基本用法,包括:单元格样式设置、值设置(文本、小数、百分比、货币、日期、科学计数法和中文大写等)。

1.Maven引入

<poi.version>3.14</poi.version>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>${poi.version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>${poi.version}</version>
        </dependency>

2.单元格样式设置

使用Aspose Excel for Java可以方便地设置Excel文件中的样式。下面是一个简单的设置单元格样式的示例代码:

CellStyle cellStyle=wb.createCellStyle(); // 创建单元格样式
cellStyle.setAlignment(HorizontalAlignment.LEFT);  // 设置单元格水平方向对其方式
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); // 设置单元格垂直方向对其方式
cellStyle.setFillForegroundColor(IndexedColors.BROWN.getIndex());//设置背景颜色cellStyle.setFillForegroundColor(IndexedColors.RED.getIndex()); // 设置前景颜色
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()); // 上边边框颜色
//设置字体
Font font = wb.createFont();
font.setFontName("黑体");
font.setFontHeightInPoints((short) 16);//设置字体大小
Font font2 = wb.createFont();
font2.setFontName("仿宋_GB2312"); font2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示 font2.setFontHeightInPoints((short) 12);
cellStyle.setFont(font);//选择需要用到的字体格式
cell.setCellStyle(cellStyle); // 设置单元格样式  

3.单元格值设置

3.1.设置单元格为文本格式

CellStyle cellStyle=wb.createCellStyle(); // 创建单元格样式    
// 此处设置数据格式
DataFormat df = workbook.createDataFormat();
cellStyle.setDataFormat(df.getFormat("@"));//文本格式
cell.setCellStyle(cellStyle);
cell.setCellValue(data.toString());

3.2.设置单元格为日期格式

CellStyle cellStyle=wb.createCellStyle(); // 创建单元格样式    
// 此处设置数据格式
DataFormat df = workbook.createDataFormat();
cellStyle.setDataFormat(df.getFormat("yyyy-MM-dd"));//日期格式
cell.setCellStyle(cellStyle);
cell.setCellValue(data.toString());

3.3.设置单元格数值格式

CellStyle cellStyle=wb.createCellStyle(); // 创建单元格样式    
// 此处设置数据格式
DataFormat df = workbook.createDataFormat();
cellStyle.setDataFormat(df.getFormat("0"));//数据格式只显示整数"_ "
//cellStyle.setDataFormat(df.getFormat("0.00"));//保留两位小数点
cell.setCellStyle(cellStyle);
cell.setCellValue(data.toString());

3.4.设置单元格为货币格式

CellStyle cellStyle=wb.createCellStyle(); // 创建单元格样式    
// 此处设置数据格式
DataFormat df = workbook.createDataFormat();
cellStyle.setDataFormat(df.getFormat("¥#,##0"));//设置货币格式
cell.setCellStyle(cellStyle);
cell.setCellValue(data.toString());

3.5.设置单元格为百分比格式

CellStyle cellStyle=wb.createCellStyle(); // 创建单元格样式    
// 此处设置数据格式
DataFormat df = workbook.createDataFormat();
cellStyle.setDataFormat(df.getFormat("0.00%"));//%保留两位小数点
cell.setCellStyle(cellStyle);
// 设置单元格内容为double类型,数值需要进行转换计算
 cell.setCellValue(Double.parseDouble(data.toString())/100d);

3.6.设置单元格为中文大写格式

CellStyle cellStyle=wb.createCellStyle(); // 创建单元格样式    
// 此处设置数据格式
DataFormat format= workbook.createDataFormat(); cellStyle.setDataFormat(format.getFormat("[DbNum2][$-804]0"));//设置中文大写 cell.setCellStyle(cellStyle);
cell.setCellValue(data.toString());

3.7.设置单元格为科学计数法格式

CellStyle cellStyle=wb.createCellStyle(); // 创建单元格样式    
// 此处设置数据格式
DataFormat format= workbook.createDataFormat(); cellStyle.setDataFormat(format.getFormat("0.00E+00"));//设置科学计数法 cell.setCellStyle(cellStyle);
cell.setCellValue(data.toString());

总结

到此这篇关于JAVA POI设置EXCEL单元格格式的文章就介绍到这了,更多相关POI设置EXCEL单元格格式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • windows如何使用bat脚本后台启动/停止和重启jar包服务

    windows如何使用bat脚本后台启动/停止和重启jar包服务

    这篇文章主要介绍了windows使用bat脚本后台启动/停止和重启jar包服务的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • SpringBoot分页的实现与long型id精度丢失问题的解决方案介绍

    SpringBoot分页的实现与long型id精度丢失问题的解决方案介绍

    在以后的开发中,当全局唯一id的生成策略生成很长的Long型数值id之后会超过JS对Long型数据处理的能力范围,可能发生精度丢失而造成后端方法失效,我们要学会解决。分页功能虽然简单但是非常重要,对于刚接触项目的人一定要重点注意
    2022-10-10
  • Java解决约瑟夫问题代码实例

    Java解决约瑟夫问题代码实例

    这篇文章主要介绍了Java解决约瑟夫(环)问题的代码实例,决约瑟问题貌似经常出现在面试题中,需要的朋友可以参考下
    2014-03-03
  • 基于@Autowierd(自动装配)的使用说明

    基于@Autowierd(自动装配)的使用说明

    这篇文章主要介绍了@Autowierd(自动装配)的使用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java中使用DOM和SAX解析XML文件的方法示例

    Java中使用DOM和SAX解析XML文件的方法示例

    这篇文章主要介绍了Java中使用DOM和SAX解析XML文件的方法示例,通过实例文章中最后也给出了一些对比结论,需要的朋友可以参考下
    2015-11-11
  • nacos配置注册中心时指定命名空间不起作用的问题

    nacos配置注册中心时指定命名空间不起作用的问题

    这篇文章主要介绍了nacos配置注册中心时指定命名空间不起作用的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教。
    2022-01-01
  • Spring Boot快速搭建Spring框架教程

    Spring Boot快速搭建Spring框架教程

    这篇文章主要为大家详细介绍了Spring Boot快速搭建Spring框架教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • SpringBoot使用SSE进行实时通知前端的实现代码

    SpringBoot使用SSE进行实时通知前端的实现代码

    这篇文章主要介绍了SpringBoot使用SSE进行实时通知前端,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • 测量Java对象所占内存大小方式

    测量Java对象所占内存大小方式

    这篇文章主要介绍了测量Java对象所占内存大小方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 基于Java和XxlCrawler获取各城市月度天气情况实践分享

    基于Java和XxlCrawler获取各城市月度天气情况实践分享

    本文主要讲解使用Java开发语言,使用XxlCrawler框架进行智能的某城市月度天气抓取实践开发,文章首先介绍目标网站的相关页面及目标数据的元素,然后讲解在信息获取过程的一些参数配置以及问题应对,需要的朋友可以参考下
    2024-05-05

最新评论