From 961da40d1eb3c6f70c3f762194085a09c39e57dd Mon Sep 17 00:00:00 2001 From: yn147 <2270338776@qq.com> Date: 星期四, 26 十月 2023 16:36:13 +0800 Subject: [PATCH] 公开直播 --- src/main/java/com/qxueyou/scc/base/util/ExcelExportUtils.java | 68 +++++++++++++++++----------------- 1 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/qxueyou/scc/base/util/ExcelExportUtils.java b/src/main/java/com/qxueyou/scc/base/util/ExcelExportUtils.java index ba735e4..2f13ace 100644 --- a/src/main/java/com/qxueyou/scc/base/util/ExcelExportUtils.java +++ b/src/main/java/com/qxueyou/scc/base/util/ExcelExportUtils.java @@ -36,15 +36,15 @@ * * * @param <T> - * 应用泛型,代表任意一个符合javabean风格的类 - * boolean型的属性xxx的get器方式为getXxx(),而不是isXxx() + * 搴旂敤娉涘瀷锛屼唬琛ㄤ换鎰忎竴涓鍚坖avabean椋庢牸鐨勭被 + * boolean鍨嬬殑灞炴�xx鐨刧et鍣ㄦ柟寮忎负getXxx(),鑰屼笉鏄痠sXxx() */ public class ExcelExportUtils<T> { private static Logger log = LogManager.getLogger("ExcelExport"); /** - * 设置标题样式,字体 + * 璁剧疆鏍囬鏍峰紡,瀛椾綋 * @param objStyle * @param workbook */ @@ -57,16 +57,16 @@ objStyle.setBorderTop(HSSFCellStyle.BORDER_THIN); objStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); - // 生成一个字体 + // 鐢熸垚涓�涓瓧浣� HSSFFont font = workbook.createFont(); font.setFontHeightInPoints((short) 12); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); - // 把字体应用到标题样式 + // 鎶婂瓧浣撳簲鐢ㄥ埌鏍囬鏍峰紡 objStyle.setFont(font); } /** - * 设置导出内容样式 + * 璁剧疆瀵煎嚭鍐呭鏍峰紡 * @param objStyle * @param workbook */ @@ -81,7 +81,7 @@ } /** - * 是否指定列宽 + * 鏄惁鎸囧畾鍒楀 * @param sheet * @param lstColumnWidth */ @@ -94,7 +94,7 @@ } /** - * 初始化导出标题 + * 鍒濆鍖栧鍑烘爣棰� * @param row * @param headers * @param titleStyle @@ -109,7 +109,7 @@ } /** - * 按照T,导出所有列内容 + * 鎸夌収T锛屽鍑烘墍鏈夊垪鍐呭 * @param objExcelExportParam */ public void exportExcel(ExcelExportParam<T> objExcelExportParam) { @@ -117,7 +117,7 @@ } /** - * 指定列导出 + * 鎸囧畾鍒楀鍑� * @param objExcelExportParam */ public void exportExcelByColomn(ExcelExportParam<T> objExcelExportParam) { @@ -125,12 +125,12 @@ } /** - * 导出excel实现 + * 瀵煎嚭excel瀹炵幇 * @param objExcelExportParam * @param exportByCol */ public void exportExcel(ExcelExportParam<T> objExcelExportParam,boolean exportByCol){ - //获取参数: + //鑾峰彇鍙傛暟锛� String title = objExcelExportParam.getTitle(); Collection<T> colData = objExcelExportParam.getColData(); OutputStream out = objExcelExportParam.getOut(); @@ -144,32 +144,32 @@ lstColumn = objExcelExportParam.getLstColumn(); } - // 声明一个工作薄 + // 澹版槑涓�涓伐浣滆杽 HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = null; - // 生成一个表格 + // 鐢熸垚涓�涓〃鏍� if(StringUtils.isNotBlank(title)){ sheet = workbook.createSheet(title); }else{ sheet = workbook.createSheet("Sheet1"); } - // 设置表格默认列宽度为18个字节 + // 璁剧疆琛ㄦ牸榛樿鍒楀搴︿负18涓瓧鑺� sheet.setDefaultColumnWidth(18); - // 设置表格默认行高度 + // 璁剧疆琛ㄦ牸榛樿琛岄珮搴� sheet.setDefaultRowHeight((short)300); - //是否指定列宽 + //鏄惁鎸囧畾鍒楀 initColumnWidth(sheet,objExcelExportParam.getLstColumnWidth()); - // 标题样式 + // 鏍囬鏍峰紡 HSSFCellStyle titleStyle = workbook.createCellStyle(); initTitleCellStyle(titleStyle,workbook); - // 内容样式 + // 鍐呭鏍峰紡 HSSFCellStyle contentStyle = workbook.createCellStyle(); initContentCellStyle(contentStyle,workbook); - // 产生表格标题行 + // 浜х敓琛ㄦ牸鏍囬琛� HSSFRow row = sheet.createRow(0); initTitleRow(row,objExcelExportParam.getHeaders(),titleStyle,lstColumn); - // 遍历集合数据,产生数据行 + // 閬嶅巻闆嗗悎鏁版嵁锛屼骇鐢熸暟鎹 Iterator<T> it = colData.iterator(); int index = 0; while (it.hasNext()) { @@ -177,7 +177,7 @@ row = sheet.createRow(index); T t = (T) it.next(); - //默认给序号列 + //榛樿缁欏簭鍙峰垪 HSSFCell cell = row.createCell(0); cell.setCellStyle(contentStyle); HSSFRichTextString richString = new HSSFRichTextString(String.valueOf(index)); @@ -185,13 +185,13 @@ richString.applyFont(font3); cell.setCellValue(richString); - //指定列导出使用 + //鎸囧畾鍒楀鍑轰娇鐢� if(exportByCol){ for(int j = 0; j < lstColumn.size() ; j++ ){ doExportExcel(row,contentStyle,pattern,numberFormat,workbook,lstColumn.get(j),t,j+1); } }else{ - // 利用反射,根据javabean属性的先后顺序,动态调用getXxx()方法得到属性值 + // 鍒╃敤鍙嶅皠锛屾牴鎹甹avabean灞炴�х殑鍏堝悗椤哄簭锛屽姩鎬佽皟鐢╣etXxx()鏂规硶寰楀埌灞炴�у�� Field[] fields = t.getClass().getDeclaredFields(); for (int i = 0; i < fields.length; i++) { if(!"serialVersionUID".equals(fields[i].getName())){ @@ -213,7 +213,7 @@ private void doExportExcel(HSSFRow row,HSSFCellStyle contentStyle,String pattern,boolean numberFormat,HSSFWorkbook workbook,String fieldName,T t,int i){ HSSFCell cell = row.createCell(i); cell.setCellStyle(contentStyle); - //boolean类型默认使用get,而非is + //boolean绫诲瀷榛樿浣跨敤get锛岃�岄潪is String getMethodName = "get" + fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1); try { @SuppressWarnings("rawtypes") @@ -221,7 +221,7 @@ @SuppressWarnings("unchecked") Method getMethod = tCls.getMethod(getMethodName,new Class[] {}); Object value = getMethod.invoke(t, new Object[] {}); - // 格式化内容 + // 鏍煎紡鍖栧唴瀹� String textValue = ""; if (value instanceof Date) { Date date = (Date) value; @@ -232,12 +232,12 @@ textValue = String.valueOf(value); } } - //利用正则表达式判断textValue是否全部由数字组成 + //鍒╃敤姝e垯琛ㄨ揪寮忓垽鏂璽extValue鏄惁鍏ㄩ儴鐢辨暟瀛楃粍鎴� if (null != textValue) { Pattern p = Pattern.compile("^//d+(//.//d+)?$"); Matcher matcher = p.matcher(textValue); if (matcher.matches() && numberFormat) { - // 是数字当作double处理 + // 鏄暟瀛楀綋浣渄ouble澶勭悊 cell.setCellValue(Double.parseDouble(textValue)); } else { HSSFRichTextString richString = new HSSFRichTextString(textValue); @@ -263,17 +263,17 @@ public static void main(String[] args) { System.out.println(new Date().getTime()); - /*// 测试学生 + /*// 娴嬭瘯瀛︾敓 ExcelExportUtils<UserRegistrationExport> ex = new ExcelExportUtils<UserRegistrationExport>(); - String[] headers = { "序号","班级", "姓名", "性别" ,"报名码" ,"手机号" ,"其他联系方式","状态"}; + String[] headers = { "搴忓彿","鐝骇", "濮撳悕", "鎬у埆" ,"鎶ュ悕鐮�" ,"鎵嬫満鍙�" ,"鍏朵粬鑱旂郴鏂瑰紡","鐘舵��"}; List<UserRegistrationExport> dataset = new ArrayList<UserRegistrationExport>(); UserRegistrationExport u = new UserRegistrationExport(); - u.setClassName("高级JAVA工程师一班"); + u.setClassName("楂樼骇JAVA宸ョ▼甯堜竴鐝�"); u.setMobilePhone("13312886688"); u.setSalesCode("123.34"); u.setSex(false); u.setStatus(UserRegistration.STATUS_ACTIVE); - u.setUserName("刘美幸子"); + u.setUserName("鍒樼編骞稿瓙"); dataset.add(u); ExcelExportParam<UserRegistrationExport> obj = new ExcelExportParam<UserRegistrationExport>(); obj.setColData(dataset); @@ -284,7 +284,7 @@ obj.setOut(out); ex.exportExcel(obj); out.close(); - System.out.println("excel导出成功!"); + System.out.println("excel瀵煎嚭鎴愬姛锛�"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { @@ -300,7 +300,7 @@ obj.setOut(out); ex.exportExcelByColomn(obj); out.close(); - System.out.println("excel指定列导出成功!"); + System.out.println("excel鎸囧畾鍒楀鍑烘垚鍔燂紒"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { -- Gitblit v1.8.0