diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0bebafc45..b3d9e393b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -18,6 +18,7 @@
* 【core 】 完善注释(pr#193@Gitee)
* 【core 】 优化Combination.countAll(pr#1159@Github)
* 【core 】 优化针对list的split方法(pr#194@Gitee)
+* 【poi 】 ExcelWriter增加setRowStyle方法
### Bug修复
* 【core 】 解决农历判断节日未判断大小月导致的问题(issue#I1XHSF@Gitee)
diff --git a/hutool-poi/src/main/java/cn/hutool/poi/excel/ExcelWriter.java b/hutool-poi/src/main/java/cn/hutool/poi/excel/ExcelWriter.java
index 3764d5780..6d9137134 100644
--- a/hutool-poi/src/main/java/cn/hutool/poi/excel/ExcelWriter.java
+++ b/hutool-poi/src/main/java/cn/hutool/poi/excel/ExcelWriter.java
@@ -44,38 +44,53 @@ import java.util.concurrent.atomic.AtomicInteger;
/**
* Excel 写入器
* 此工具用于通过POI将数据写出到Excel,此对象可完成以下两个功能
- *
+ *
*
* 1. 编辑已存在的Excel,可写出原Excel文件,也可写出到其它地方(到文件或到流) * 2. 新建一个空的Excel工作簿,完成数据填充后写出(到文件或到流) *- * + * * @author Looly * @since 3.2.0 */ public class ExcelWriter extends ExcelBase
* 1. 当前行游标归零 * 2. 清空别名比较器 * 3. 清除标题缓存 *- * + * * @return this */ public ExcelWriter reset() { @@ -206,7 +221,7 @@ public class ExcelWriter extends ExcelBase
* 1. 头部样式 * 2. 一般单元格样式 * 3. 默认数字样式 * 4. 默认日期样式 *- * + * * @return 样式集 * @since 4.0.0 */ @@ -313,7 +328,7 @@ public class ExcelWriter extends ExcelBase
* response.setHeader("Content-Disposition", excelWriter.getDisposition("test.xlsx", CharsetUtil.CHARSET_UTF_8)); *- * + * * @param fileName 文件名,如果文件名没有扩展名,会自动按照生成Excel类型补齐扩展名,如果提供空,使用随机UUID - * @param charset 编码,null则使用默认UTF-8编码 + * @param charset 编码,null则使用默认UTF-8编码 * @return Content-Disposition值 */ public String getDisposition(String fileName, Charset charset) { - if(null == charset) { + if (null == charset) { charset = CharsetUtil.CHARSET_UTF_8; } - - if(StrUtil.isBlank(fileName)) { + + if (StrUtil.isBlank(fileName)) { // 未提供文件名使用随机UUID作为文件名 fileName = IdUtil.fastSimpleUUID(); } - + fileName = StrUtil.addSuffixIfNot(URLUtil.encodeAll(fileName, charset), isXlsx() ? ".xlsx" : ".xls"); return StrUtil.format("attachment; filename=\"{}\"; filename*={}''{}", fileName, charset.name(), fileName); } /** * 设置当前所在行 - * + * * @param rowIndex 行号 * @return this */ @@ -379,7 +394,7 @@ public class ExcelWriter extends ExcelBase
* data中元素支持的类型有: - * + * *
* 1. Iterable,即元素为一个集合,元素被当作一行,data表示多行- * + * * @param data 数据 * @return this */ @@ -734,18 +749,18 @@ public class ExcelWriter extends ExcelBase
* 2. Map,即元素为一个Map,第一个Map的keys作为首行,剩下的行为Map的values,data表示多行
* 3. Bean,即元素为一个Bean,第一个Bean的字段名列表会作为首行,剩下的行为Bean的字段值列表,data表示多行
* 4. 其它类型,按照基本类型输出(例如字符串) *
* data中元素支持的类型有: - * + * *
* 1. Iterable,即元素为一个集合,元素被当作一行,data表示多行- * - * @param data 数据 + * + * @param data 数据 * @param isWriteKeyAsHead 是否强制写出标题行(Map或Bean) * @return this */ @@ -766,18 +781,18 @@ public class ExcelWriter extends ExcelBase
* 2. Map,即元素为一个Map,第一个Map的keys作为首行,剩下的行为Map的values,data表示多行
* 3. Bean,即元素为一个Bean,第一个Bean的字段名列表会作为首行,剩下的行为Bean的字段值列表,data表示多行
* 4. 其它类型,按照基本类型输出(例如字符串) *
* 1. Map,即元素为一个Map,第一个Map的keys作为首行,剩下的行为Map的values,data表示多行
* 2. Bean,即元素为一个Bean,第一个Bean的字段名列表会作为首行,剩下的行为Bean的字段值列表,data表示多行
*
* 1、如果为Iterable,直接写出一行 * 2、如果为Map,isWriteKeyAsHead为true写出两行,Map的keys做为一行,values做为第二行,否则只写出一行values * 3、如果为Bean,转为Map写出,isWriteKeyAsHead为true写出两行,Map的keys做为一行,values做为第二行,否则只写出一行values *- * - * @param rowBean 写出的Bean + * + * @param rowBean 写出的Bean * @param isWriteKeyAsHead 为true写出两行,Map的keys做为一行,values做为第二行,否则只写出一行values * @return this * @see #writeRow(Iterable) @@ -866,8 +881,8 @@ public class ExcelWriter extends ExcelBase
* 需要注意的是,共享样式会共享同一个{@link CellStyle},一个单元格样式改变,全部改变。
*
- * @param style 单元格样式
+ * @param style 单元格样式
* @param locationRef 单元格地址标识符,例如A11,B5
* @return this
* @since 5.1.4
@@ -974,18 +989,18 @@ public class ExcelWriter extends ExcelBase
* 需要注意的是,共享样式会共享同一个{@link CellStyle},一个单元格样式改变,全部改变。
*
* @param style 单元格样式
- * @param x X坐标,从0计数,即列号
- * @param y Y坐标,从0计数,即行号
+ * @param x X坐标,从0计数,即列号
+ * @param y Y坐标,从0计数,即行号
* @return this
* @since 4.6.3
*/
@@ -995,9 +1010,23 @@ public class ExcelWriter extends ExcelBase
* 此方法用于多个单元格共享样式的情况
* 可以调用{@link #getOrCreateCellStyle(int, int)} 方法创建或取得一个样式对象。
- *
+ *
*
* 如果用户未自定义输出的文件,将抛出{@link NullPointerException}
* 预定义文件可以通过{@link #setDestFile(File)} 方法预定义,或者通过构造定义
- *
+ *
* @return this
* @throws IORuntimeException IO异常
*/
@@ -1020,7 +1049,7 @@ public class ExcelWriter extends ExcelBase
* 如果用户未自定义输出的文件,将抛出{@link NullPointerException}
- *
+ *
* @param destFile 写出到的文件
* @return this
* @throws IORuntimeException IO异常
@@ -1033,7 +1062,7 @@ public class ExcelWriter extends ExcelBase