Pārlūkot izejas kodu

支持冰冻列行的自定义参数

4.1.3.A
jueyue pirms 7 gadiem
vecāks
revīzija
738384d60f
2 mainītis faili ar 19 papildinājumiem un 1 dzēšanām
  1. +17
    -1
      easypoi-base/src/main/java/org/jeecgframework/poi/excel/html/HtmlToExcelServer.java
  2. +2
    -0
      easypoi-base/src/main/java/org/jeecgframework/poi/excel/html/entity/ExcelCssConstant.java

+ 17
- 1
easypoi-base/src/main/java/org/jeecgframework/poi/excel/html/HtmlToExcelServer.java Parādīt failu

@@ -42,7 +42,7 @@ import org.jeecgframework.poi.excel.html.entity.style.CellStyleEntity;
* 2017年3月19日
*/
public class HtmlToExcelServer {
private final Logger LOGGER = LoggerFactory
private final Logger LOGGER = LoggerFactory
.getLogger(HtmlToExcelServer.class);
//样式
@@ -78,11 +78,24 @@ public class HtmlToExcelServer {
rowIndex = maxRow;
}
LOGGER.debug("Interate Table Rows.");
String freezeCol = null;
int freezeColIndex = -1;
for (Element row : table.select("tr")) {
LOGGER.debug("Parse Table Row [{}]. Row Index [{}].", row, rowIndex);
String freezeRow = row.attr(ExcelCssConstant.FREEZE_ROW);
if ("true".equals(freezeRow)) {
sheet.createFreezePane(0, rowIndex + 1, 0, rowIndex + 1);
}
int colIndex = 0;
LOGGER.debug("Interate Cols.");
for (Element td : row.select("td, th")) {
freezeCol = td.attr(ExcelCssConstant.FREEZE_COL);
if ("true".equals(freezeCol)) {
if (colIndex > freezeColIndex) {
freezeColIndex = colIndex;
}
}
// skip occupied cell
while (cellsOccupied.get(rowIndex + "_" + colIndex) != null) {
LOGGER.debug("Cell [{}][{}] Has Been Occupied, Skip.", rowIndex, colIndex);
@@ -124,6 +137,9 @@ public class HtmlToExcelServer {
}
++rowIndex;
}
if (freezeColIndex != -1) {
sheet.createFreezePane(freezeColIndex + 1, 0, freezeColIndex + 1, 0);
}
}
public Workbook createSheet(String html, Workbook workbook) {


+ 2
- 0
easypoi-base/src/main/java/org/jeecgframework/poi/excel/html/entity/ExcelCssConstant.java Parādīt failu

@@ -23,5 +23,7 @@ package org.jeecgframework.poi.excel.html.entity;
public interface ExcelCssConstant {
public final String SHEET_NAME = "sheetName";
public final String FREEZE_ROW = "freezeRow";
public final String FREEZE_COL = "freezeCol";
}

Notiek ielāde…
Atcelt
Saglabāt