Browse Source

add setFreezePane

Looly 5 years ago
parent
commit
2783f17472

+ 22 - 0
hutool-json/src/main/java/cn/hutool/json/JSONUtil.java

@@ -49,6 +49,17 @@ public final class JSONUtil {
 	}
 
 	/**
+	 * 创建JSONObject
+	 *
+	 * @param config JSON配置
+	 * @return JSONObject
+	 * @since 5.2.5
+	 */
+	public static JSONObject createObj(JSONConfig config) {
+		return new JSONObject(config);
+	}
+
+	/**
 	 * 创建 JSONArray
 	 *
 	 * @return JSONArray
@@ -58,6 +69,17 @@ public final class JSONUtil {
 	}
 
 	/**
+	 * 创建 JSONArray
+	 *
+	 * @param config JSON配置
+	 * @return JSONArray
+	 * @since 5.2.5
+	 */
+	public static JSONArray createArray(JSONConfig config) {
+		return new JSONArray(config);
+	}
+
+	/**
 	 * JSON字符串转JSONObject对象
 	 *
 	 * @param jsonStr JSON字符串

+ 24 - 0
hutool-poi/src/main/java/cn/hutool/poi/excel/ExcelWriter.java

@@ -471,6 +471,30 @@ public class ExcelWriter extends ExcelBase<ExcelWriter> {
 	}
 
 	/**
+	 * 设置窗口冻结,之前冻结的窗口会被覆盖,如果rowSplit为0表示取消冻结
+	 *
+	 * @param rowSplit 冻结的行及行数,2表示前两行
+	 * @return this
+	 * @since 5.2.5
+	 */
+	public ExcelWriter setFreezePane(int rowSplit){
+		return setFreezePane(0, rowSplit);
+	}
+
+	/**
+	 * 设置窗口冻结,之前冻结的窗口会被覆盖,如果colSplit和rowSplit为0表示取消冻结
+	 *
+	 * @param colSplit 冻结的列及列数,2表示前两列
+	 * @param rowSplit 冻结的行及行数,2表示前两行
+	 * @return this
+	 * @since 5.2.5
+	 */
+	public ExcelWriter setFreezePane(int colSplit, int rowSplit){
+		getSheet().createFreezePane(colSplit, rowSplit);
+		return this;
+	}
+
+	/**
 	 * 设置列宽(单位为一个字符的宽度,例如传入width为10,表示10个字符的宽度)
 	 * 
 	 * @param columnIndex 列号(从0开始计数,-1表示所有列的默认宽度)

+ 2 - 0
hutool-poi/src/test/java/cn/hutool/poi/excel/test/ExcelWriteTest.java

@@ -90,6 +90,8 @@ public class ExcelWriteTest {
 		// 一次性写出内容,使用默认样式
 		writer.write(rows);
 		writer.autoSizeColumn(0, true);
+		//冻结前两行
+		writer.setFreezePane(0, 2);
 		// 关闭writer,释放内存
 		writer.close();
 	}