From adb62261de9895751302b205de5d816fead1c62c Mon Sep 17 00:00:00 2001 From: liquanyu Date: Mon, 20 Aug 2018 17:21:57 +0800 Subject: [PATCH] excl --- .../com/lyms/platform/common/utils/ExcelUtil.java | 97 +++++++++++++--------- 1 file changed, 57 insertions(+), 40 deletions(-) diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java index e6966a8..757d534 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java @@ -7,6 +7,7 @@ import java.util.*; import jxl.Cell; +import jxl.Range; import jxl.Sheet; import jxl.Workbook; import jxl.format.*; @@ -244,8 +245,7 @@ public class ExcelUtil wb = Workbook.getWorkbook(file); WritableWorkbook book = wb.createWorkbook(file, wb); WritableSheet ws = book.getSheet(0); - - List columNames = new ArrayList<>(); + List columNames = new ArrayList<>(); for (int i = 0, len = 37; i < len; i++) { @@ -255,65 +255,82 @@ public class ExcelUtil WritableFont contentFont = new WritableFont(WritableFont.ARIAL, 12, WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.BLACK); WritableCellFormat contentFormt = new WritableCellFormat(contentFont); contentFormt.setAlignment(jxl.format.Alignment.CENTRE); + contentFormt.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN); contentFormt.setVerticalAlignment(VerticalAlignment.CENTRE); WritableFont leftFont = new WritableFont(WritableFont.ARIAL, 12, WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.BLACK); WritableCellFormat leftFormt = new WritableCellFormat(leftFont); + leftFormt.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN); leftFormt.setAlignment(Alignment.LEFT); leftFormt.setVerticalAlignment(VerticalAlignment.CENTRE); - - - WritableFont title = new WritableFont(WritableFont.ARIAL, 18, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.BLACK); WritableCellFormat titleFormt = new WritableCellFormat(title); + titleFormt.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN); titleFormt.setAlignment(jxl.format.Alignment.CENTRE); titleFormt.setVerticalAlignment(VerticalAlignment.CENTRE); - for (int i = 0; i < ws.getRows() ; i++) { - for (int j = 0; j < ws.getColumns(); j++) { - if(i == 0 && j == 0){ - Label label = new Label(j, i, "四川省成都市统计",titleFormt); - ws.addCell(label); - } - if(i == 1 && j == 0){ - Label label = new Label(j, i, "成都市",leftFormt); - ws.addCell(label); - } + ws.insertColumn(26); + ws.insertColumn(27); + ws.insertColumn(28); - if(i == 1 && j == 19){ - Label label = new Label(j, i, "2018-08-20",leftFormt); - ws.addCell(label); - } - } - } + ws.mergeCells(26, 3, 29, 3); + ws.addCell(new Label(26, 3, "本市户籍", contentFormt)); + ws.addCell(new Label(26, 4, "区1", contentFormt)); + ws.addCell(new Label(27, 4, "区2", contentFormt)); + ws.addCell(new Label(28, 4, "区3", contentFormt)); + ws.addCell(new Label(29, 4, "区4", contentFormt)); - for (int i = 5, len = 30; i < len; i++) - { - for (int j = 0; j < columNames.size() ; j++) - { - WritableCellFormat wcfN = new WritableCellFormat(contentFont); - wcfN.setAlignment(jxl.format.Alignment.CENTRE); - wcfN.setVerticalAlignment(VerticalAlignment.CENTRE); - Number labelNF = new Number(j, i,j, wcfN); - ws.addCell(labelNF); - } + for (int i = 0; i < ws.getRows() ; i++) { + for (int j = 0; j < ws.getColumns(); j++) { + Cell cell = ws.getCell(i, j); + System.out.println(i + "==" + j + " " +cell.getContents()); + +// if(i == 0 && j == 0){ +// Label label = new Label(j, i, "四川省成都市统计",titleFormt); +// ws.addCell(label); +// } +// +// if(i == 1 && j == 0){ +// Label label = new Label(j, i, "成都市",leftFormt); +// ws.addCell(label); +// } +// +// if(i == 1 && j == 19){ +// Label label = new Label(j, i, "2018-08-20",leftFormt); +// ws.addCell(label); +// } + } } - ws.addCell(new Label(0, 30, "注:统计时限:上月26日至本月25日;分娩方式中其他包括:吸引产、臀助产、臀牵引、产钳产等。", leftFormt)); - - ws.mergeCells(0, 30, 36, 30); - ws.addCell(new Label(0, 31, "填报单位:", leftFormt)); - ws.mergeCells(0, 31, 5, 31); - ws.addCell(new Label(6, 31, "填报人:", leftFormt)); - ws.mergeCells(6, 31, 10, 31); - ws.addCell(new Label(11, 31, "填报日期:", leftFormt)); - ws.mergeCells(11, 31,36, 31); +// for (int i = 5, len = 30; i < len; i++) +// { +// for (int j = 0; j < columNames.size() ; j++) +// { +// WritableCellFormat wcfN = new WritableCellFormat(contentFont); +// wcfN.setAlignment(jxl.format.Alignment.CENTRE); +// wcfN.setVerticalAlignment(VerticalAlignment.CENTRE); +// Number labelNF = new Number(j, i,j, wcfN); +// ws.addCell(labelNF); +// } +// +// } +// +// ws.addCell(new Label(0, 30, "注:统计时限:上月26日至本月25日;分娩方式中其他包括:吸引产、臀助产、臀牵引、产钳产等。", leftFormt)); +// +// ws.mergeCells(0, 30, 36, 30); +// +// ws.addCell(new Label(0, 31, "填报单位:", leftFormt)); +// ws.mergeCells(0, 31, 5, 31); +// ws.addCell(new Label(6, 31, "填报人:", leftFormt)); +// ws.mergeCells(6, 31, 10, 31); +// ws.addCell(new Label(11, 31, "填报日期:", leftFormt)); +// ws.mergeCells(11, 31,36, 31); book.write(); book.close(); -- 1.8.3.1