POI对Excel单元格的格式的设置参数

2024-08-27 16:32

本文主要是介绍POI对Excel单元格的格式的设置参数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

需求

最近在做导出时,遇到了时间格式变成了纯数字。或者格式设置好了后,由于宽度不够变成###的问题。

环境

poi
java 1.8

解决方式

日期格式:

cell.setCellValue(new Date(2008,5,5));
//set date format
CellStyle cellStyle = workBook.createCellStyle();
DataFormat format= workBook.createDataFormat();
cellStyle.setDataFormat(format.getFormat("yyyy-MM-dd"));
cell.setCellStyle(cellStyle);

宽度使用自适应:

sheet.autoSizeColumn(0);//宽度自适应
//这个最好放在创建的那个列中。否则会不起作用,比如我,就是放在循环里去设置每次创建出来的第一列的单元格

我的后台部分代码:

        DBCursor cursor = gogoalSum.find(query).sort(new BasicDBObject("downdate", -1)).limit(10);int rowCount = 1;while(cursor.hasNext()){DBObject o = cursor.next();Object date = o.get("downdate");if(date != null){int down_click_sum = (Integer) (o.get("down_click_sum")==null?0:o.get("down_click_sum"));int install_sum = (Integer) (o.get("install_sum")==null?0:o.get("install_sum"));int installFail_sum = (Integer) (o.get("installFail_sum")==null?0:o.get("installFail_sum"));int uninstall_sum = (Integer) (o.get("uninstall_sum")==null?0:o.get("uninstall_sum"));row = sheet.createRow(rowCount);cell = row.createCell(0);cell.setCellValue((Date)date);CellStyle cellStyle = workbook.createCellStyle();//创建样式DataFormat format= workbook.createDataFormat();//设置时间格式cellStyle.setDataFormat(format.getFormat("yyyy-MM-dd"));//设置时间格式sheet.autoSizeColumn(0);//宽度自适应cell.setCellStyle(cellStyle);//设置时间格式cell = row.createCell(1);cell.setCellValue(down_click_sum);cell = row.createCell(2);cell.setCellValue(install_sum);cell = row.createCell(3);cell.setCellValue(installFail_sum);cell = row.createCell(4);cell.setCellValue(uninstall_sum);rowCount++;}}cursor.close();

=====================以下我没有验证===================

小数格式:

cell.setCellValue(1.2);
CellStyle cellStyle = workBook.createCellStyle();
cellStyle.setDataFormat(DataFormat.getBuiltinFormat("0.00"));
cell.setCellStyle(cellStyle);

货币格式:

cell.setCellValue(20000);
CellStyle cellStyle = workBook.createCellStyle();
DataFormat format= workBook.createDataFormat();
cellStyle.setDataFormat(format.getFormat("¥#,##0"));
cell.setCellStyle(cellStyle);

百分比格式:

cell.setCellValue(20);
CellStyle cellStyle = workBook.createCellStyle();
cellStyle.setDataFormat(DataFormat.getBuiltinFormat("0.00%"));
cell.setCellStyle(cellStyle);

中文大写格式

cell.setCellValue(20000);
CellStyle cellStyle = workBook.createCellStyle();
DataFormat format= workBook.createDataFormat();
cellStyle.setDataFormat(format.getFormat("[DbNum2][$-804]0"));
cell.setCellStyle(cellStyle);

科学计数格式

cell.setCellValue(20000);
CellStyle cellStyle = workBook.createCellStyle();
cellStyle.setDataFormat(DataFormat.getBuiltinFormat("0.00E+00"));
cell.setCellStyle(cellStyle);

参考地址:

http://irfen.me/poi-excel-cell-format-set-params/

这篇关于POI对Excel单元格的格式的设置参数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1112191

相关文章

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

Java easyExcel实现导入多sheet的Excel

《JavaeasyExcel实现导入多sheet的Excel》这篇文章主要为大家详细介绍了如何使用JavaeasyExcel实现导入多sheet的Excel,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录1.官网2.Excel样式3.代码1.官网easyExcel官网2.Excel样式3.代码

Mysql常见的SQL语句格式及实用技巧

《Mysql常见的SQL语句格式及实用技巧》本文系统梳理MySQL常见SQL语句格式,涵盖数据库与表的创建、删除、修改、查询操作,以及记录增删改查和多表关联等高级查询,同时提供索引优化、事务处理、临时... 目录一、常用语法汇总二、示例1.数据库操作2.表操作3.记录操作 4.高级查询三、实用技巧一、常用语

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

Qt 设置软件版本信息的实现

《Qt设置软件版本信息的实现》本文介绍了Qt项目中设置版本信息的三种常用方法,包括.pro文件和version.rc配置、CMakeLists.txt与version.h.in结合,具有一定的参考... 目录在运行程序期间设置版本信息可以参考VS在 QT 中设置软件版本信息的几种方法方法一:通过 .pro

PostgreSQL 默认隔离级别的设置

《PostgreSQL默认隔离级别的设置》PostgreSQL的默认事务隔离级别是读已提交,这是其事务处理系统的基础行为模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一 默认隔离级别概述1.1 默认设置1.2 各版本一致性二 读已提交的特性2.1 行为特征2.2

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

mtu设置多少网速最快? 路由器MTU设置最佳网速的技巧

《mtu设置多少网速最快?路由器MTU设置最佳网速的技巧》mtu设置多少网速最快?想要通过设置路由器mtu获得最佳网速,该怎么设置呢?下面我们就来看看路由器MTU设置最佳网速的技巧... 答:1500 MTU值指的是在网络传输中数据包的最大值,合理的设置MTU 值可以让网络更快!mtu设置可以优化不同的网

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五