Commit 873906aa authored by yanzg's avatar yanzg

接口文档的支持

parent 30ae8e05
......@@ -201,7 +201,7 @@ public class ExcelConsole<T extends Object> implements DbRow<T> {
// 创建一行
Row row = sheet.createRow(rowIndex);
row.setHeight(getUnit(rowHeight));
Cell cell = createCell(row, 0, content);
Cell cell = createCell(row, 0, content, false);
// 这里是合并excel中多列为1列
CellRangeAddress region = new CellRangeAddress(rowIndex, rowIndex, 0, columnLength);
sheet.addMergedRegion(region);
......@@ -223,7 +223,7 @@ public class ExcelConsole<T extends Object> implements DbRow<T> {
// 写入列头
for (TableHeadItem headItem : head.getColumns()) {
Row row = rows[headItem.getRow()];
Cell cell = createCell(row, headItem.getColumn(), headItem.getName());
Cell cell = createCell(row, headItem.getColumn(), headItem.getName(), true);
// 判断是否需要合并列头
if (headItem.getColumnCell() > 1 || headItem.getRowCell() > 1) {
......@@ -305,7 +305,7 @@ public class ExcelConsole<T extends Object> implements DbRow<T> {
String value = StringHelper.getFirst(rowHandle.get(t, columnName));
// 当不需要合并历史记录时,则创建新的内容
Cell cell = createCell(row, columnPos, value);
Cell cell = createCell(row, columnPos, value, true);
// 判断列是否需要合并
if (column.isMerger()) {
ExcelMergerData mergerData = mergerGroupData.get(column.getMegerGroup());
......@@ -418,16 +418,18 @@ public class ExcelConsole<T extends Object> implements DbRow<T> {
* @param content
* @return
*/
private Cell createCell(Row row, int column, String content) {
private Cell createCell(Row row, int column, String content, boolean isMax) {
// 获取字节数、用于设置最大宽度
int chinaCount = 0;
Matcher matcher = chinese.matcher(content);
while (matcher.find()) {
chinaCount++;
if (isMax) {
int chinaCount = 0;
Matcher matcher = chinese.matcher(content);
while (matcher.find()) {
chinaCount++;
}
int bytes = (content.length() - chinaCount) + (int) Math.round(chinaCount * 1.5);
int maxBytes = Math.max(columnBytes.getOrDefault(column, 0), bytes);
columnBytes.put(column, maxBytes);
}
int bytes = (content.length() - chinaCount) + (int) Math.round(chinaCount * 2);
int maxBytes = Math.max(columnBytes.getOrDefault(column, 0), bytes);
columnBytes.put(column, maxBytes);
Cell cell = row.createCell(column);
cell.setCellStyle(style);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment