hx-common.iml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/hx/util/COSUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/hx/util/ExcelUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
hx-common.iml
@@ -20,8 +20,6 @@ <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="library" name="Maven: com.qcloud:cos_api:5.6.32" level="project" /> <orderEntry type="library" name="Maven: joda-time:joda-time:2.9.9" level="project" /> <orderEntry type="library" name="Maven: com.qcloud:cos_api:5.6.24" level="project" /> <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" /> <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" /> <orderEntry type="library" name="Maven: joda-time:joda-time:2.9.9" level="project" /> src/main/java/com/hx/util/COSUtil.java
@@ -67,4 +67,44 @@ } /** 后端调用上传图片 * @param key 上传路径(包括图片名称和和后缀),指定要上传到 COS 上对象键 * @param localFile * @param secretId 用户id * @param secretKey 用户秘钥 * @param regionName 存在域,参考腾讯云 * @param bucketName 指定要上传到的存储桶 * @return * @throws IOException */ public static String uploadImg(String key,File localFile,String secretId, String secretKey,String regionName,String bucketName) throws IOException { // 1 初始化用户身份信息(secretId, secretKey)。 COSCredentials cred = new BasicCOSCredentials(secretId, secretKey); // 2 设置 bucket 的区域, COS 地域的简称请参照 https://cloud.tencent.com/document/product/436/6224 // clientConfig 中包含了设置 region, https(默认 http), 超时, 代理等 set 方法, 使用可参见源码或者常见问题 Java SDK 部分。 Region region = new Region(regionName); ClientConfig clientConfig = new ClientConfig(region); // 3 生成 cos 客户端。 COSClient cosClient = new COSClient(cred, clientConfig); // 设置 Content type, 默认是 application/octet-stream,对于本地文件上传,默认根据本地文件的后缀进行映射 // ,例如 jpg 文件映射 为image/jpeg对于流式上传 默认是 application/octet-stream //objectMetadata.setContentType("application/pdf"); PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, localFile); PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest); //拼接路径 StringBuilder imgUrl = new StringBuilder(); imgUrl.append("https://"+bucketName+".cos."+regionName+".myqcloud.com"); if(key.startsWith("/")){ imgUrl.append(key); }else{ imgUrl.append("/"+key); } return imgUrl.toString(); } } src/main/java/com/hx/util/ExcelUtil.java
@@ -162,6 +162,91 @@ return file; } /**生成临时文件 * @param headList * Excel文件Head标题集合 * @param fieldList * Excel文件Field标题集合 根据field来寻找位置填充表格 * @param dataList * Excel文件数据内容部分 * @throws Exception */ public static File createExcel(String[] headList, String[] fieldList, List<Map<String, Object>> dataList ,Integer height,Integer width) throws Exception { File file = File.createTempFile("temp", ".xls"); try{ if(height == null){ height = 450; } if(width == null){ width = 5000; } // 创建新的Excel 工作簿 HSSFWorkbook workbook = new HSSFWorkbook(); //合并的单元格样式 HSSFCellStyle boderStyle = workbook.createCellStyle(); //垂直居中 boderStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); boderStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式 // 在Excel工作簿中建一工作表,其名为缺省值 // 如要新建一名为"效益指标"的工作表,其语句为: // HSSFSheet sheet = workbook.createSheet("效益指标"); HSSFSheet sheet = workbook.createSheet(); // 在索引0的位置创建行(最顶端的行) HSSFRow row = sheet.createRow(0); // =============================================================== for (int i = 0; i < headList.length; i++) { //高度 row.setHeight(height.shortValue()); sheet.setColumnWidth(i,width); // 在索引0的位置创建单元格(左上端) HSSFCell cell = row.createCell(i); // 定义单元格为字符串类型 cell.setCellType(HSSFCell.CELL_TYPE_STRING); // 在单元格中输入一些内容 cell.setCellValue(headList[i]); cell.setCellStyle(boderStyle); } // =============================================================== if (dataList != null) { for (int n = 0; n < dataList.size(); n++) { // 在索引1的位置创建行 HSSFRow row_value = sheet.createRow(n + 1); row_value.setHeight(height.shortValue()); Map<String, Object> dataMap = dataList.get(n); // =============================================================== for (int i = 0; i < fieldList.length; i++) { // 在索引0的位置创建单元格(左上端) sheet.setColumnWidth(i,width); HSSFCell cell = row_value.createCell(i); // 定义单元格为字符串类型 cell.setCellType(HSSFCell.CELL_TYPE_STRING); // 在单元格中输入一些内容 cell.setCellValue(objToString(dataMap.get(fieldList[i]))); cell.setCellStyle(boderStyle); } // =============================================================== } } // 新建一输出文件流 FileOutputStream fOut = new FileOutputStream(file); // 把相应的Excel 工作簿存盘 workbook.write(fOut); fOut.flush(); // 操作结束,关闭文件 fOut.close(); }catch (Exception e){ }finally { file.deleteOnExit(); } return file; } private static String objToString(Object obj) { if (obj == null) {