浏览代码

just format

deason 5 年之前
父节点
当前提交
dec5e8c530

+ 48 - 54
examcloud-core-questions-base/src/main/java/cn/com/qmth/examcloud/core/questions/base/excel/ExcelWriter.java

@@ -42,46 +42,56 @@ public class ExcelWriter extends ExcelUtils {
         sheet.setDefaultColumnWidth((short) 15);
         // 生成一个样式
         XSSFCellStyle style = workbook.createCellStyle();
+
+        /*
         // 设置这些样式
-//        style.setFillForegroundColor(HSSFColor.SKY_BLUE.index);
-//        style.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND);
-//        style.setBorderBottom(XSSFCellStyle.BORDER_THIN);
-//        style.setBorderLeft(XSSFCellStyle.BORDER_THIN);
-//        style.setBorderRight(XSSFCellStyle.BORDER_THIN);
-//        style.setBorderTop(XSSFCellStyle.BORDER_THIN);
-//        style.setAlignment(XSSFCellStyle.ALIGN_CENTER);
+        style.setFillForegroundColor(HSSFColor.SKY_BLUE.index);
+        style.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND);
+        style.setBorderBottom(XSSFCellStyle.BORDER_THIN);
+        style.setBorderLeft(XSSFCellStyle.BORDER_THIN);
+        style.setBorderRight(XSSFCellStyle.BORDER_THIN);
+        style.setBorderTop(XSSFCellStyle.BORDER_THIN);
+        style.setAlignment(XSSFCellStyle.ALIGN_CENTER);
+
         // 生成一个字体
-//        XSSFFont font = workbook.createFont();
-//        font.setColor(HSSFColor.VIOLET.index);
-//        font.setFontHeightInPoints((short) 12);
-//        font.setBoldweight(XSSFFont.BOLDWEIGHT_BOLD);
-//        // 把字体应用到当前的样式
-//        style.setFont(font);
-//        // 生成并设置另一个样式
-//        XSSFCellStyle style2 = workbook.createCellStyle();
-//        style2.setFillForegroundColor(HSSFColor.LIGHT_YELLOW.index);
-//        style2.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND);
-//        style2.setBorderBottom(XSSFCellStyle.BORDER_THIN);
-//        style2.setBorderLeft(XSSFCellStyle.BORDER_THIN);
-//        style2.setBorderRight(XSSFCellStyle.BORDER_THIN);
-//        style2.setBorderTop(XSSFCellStyle.BORDER_THIN);
-//        style2.setAlignment(XSSFCellStyle.ALIGN_CENTER);
-//        style2.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);
-//        // 生成另一个字体
-//        XSSFFont font2 = workbook.createFont();
-//        font2.setBoldweight(XSSFFont.BOLDWEIGHT_NORMAL);
+        XSSFFont font = workbook.createFont();
+        font.setColor(HSSFColor.VIOLET.index);
+        font.setFontHeightInPoints((short) 12);
+        font.setBoldweight(XSSFFont.BOLDWEIGHT_BOLD);
+
+        // 把字体应用到当前的样式
+        style.setFont(font);
+
+        // 生成并设置另一个样式
+        XSSFCellStyle style2 = workbook.createCellStyle();
+        style2.setFillForegroundColor(HSSFColor.LIGHT_YELLOW.index);
+        style2.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND);
+        style2.setBorderBottom(XSSFCellStyle.BORDER_THIN);
+        style2.setBorderLeft(XSSFCellStyle.BORDER_THIN);
+        style2.setBorderRight(XSSFCellStyle.BORDER_THIN);
+        style2.setBorderTop(XSSFCellStyle.BORDER_THIN);
+        style2.setAlignment(XSSFCellStyle.ALIGN_CENTER);
+        style2.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);
+
+        // 生成另一个字体
+        XSSFFont font2 = workbook.createFont();
+        font2.setBoldweight(XSSFFont.BOLDWEIGHT_NORMAL);
+
         // 把字体应用到当前的样式
-        //style2.setFont(font2);
+        style2.setFont(font2);
 
         // 声明一个画图的顶级管理器
-        //HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
+        HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
+
         // 定义注释的大小和位置,详见文档
-//        XSSFComment comment = patriarch.createComment(new HSSFClientAnchor(0,
-//                0, 0, 0, (short) 4, 2, (short) 6, 5));
-//        // 设置注释内容
-//        comment.setString(new HSSFRichTextString("可以在POI中添加注释!"));
-//        // 设置注释作者,当鼠标移动到单元格上是可以在状态栏中看到该内容.
-//        comment.setAuthor("leno");
+        XSSFComment comment = patriarch.createComment(new HSSFClientAnchor(0, 0, 0, 0, (short) 4, 2, (short) 6, 5));
+
+        // 设置注释内容
+        comment.setString(new HSSFRichTextString("可以在POI中添加注释!"));
+
+        // 设置注释作者,当鼠标移动到单元格上是可以在状态栏中看到该内容.
+        comment.setAuthor("leno");
+        */
 
         List<ColumnSetting> columnSettings = this.getColumnSettings();
 
@@ -98,12 +108,11 @@ public class ExcelWriter extends ExcelUtils {
         }
 
         // 遍历集合数据,产生数据行
-        //Iterator<?> it = dataset.iterator();
         int index = 0;
         for (Object obj : dataset) {
             index++;
             row = sheet.createRow(index);
-            //T t = (T) it.next();
+
             // 利用反射,根据javabean属性的先后顺序,动态调用getXxx()方法得到属性值
             for (short i = 0; i < columnSettings.size(); i++) {
                 XSSFCell cell = row.createCell(i);
@@ -115,24 +124,7 @@ public class ExcelWriter extends ExcelUtils {
                     field.setAccessible(true);
                     Object value = field.get(obj);
                     // 判断值的类型后进行强制类型转换
-                    String textValue = null;
-                    // if (value instanceof Integer) {
-                    // int intValue = (Integer) value;
-                    // cell.setCellValue(intValue);
-                    // } else if (value instanceof Float) {
-                    // float fValue = (Float) value;
-                    // textValue = new HSSFRichTextString(
-                    // String.valueOf(fValue));
-                    // cell.setCellValue(textValue);
-                    // } else if (value instanceof Double) {
-                    // double dValue = (Double) value;
-                    // textValue = new HSSFRichTextString(
-                    // String.valueOf(dValue));
-                    // cell.setCellValue(textValue);
-                    // } else if (value instanceof Long) {
-                    // long longValue = (Long) value;
-                    // cell.setCellValue(longValue);
-                    // }
+                    String textValue;
                     if (value == null) {
                         textValue = "";
                     } else if (value instanceof Boolean) {
@@ -149,6 +141,7 @@ public class ExcelWriter extends ExcelUtils {
                         // 其它数据类型都当作字符串简单处理
                         textValue = String.valueOf(value);
                     }
+
                     // 如果不是图片数据,就利用正则表达式判断textValue是否全部由数字组成
                     if (textValue != null) {
                         Pattern p = Pattern.compile("^//d+(//.//d+)?$");
@@ -179,6 +172,7 @@ public class ExcelWriter extends ExcelUtils {
             }
 
         }
+
         try {
             workbook.write(out);
         } catch (IOException e) {