当前位置: 首页 > news >正文

广西网站建设费用/站长工具爱情岛

广西网站建设费用,站长工具爱情岛,优质手机网站建设推荐,公司请外包做的网站怎么维护本文总结了magicapi将多个文件压缩成zip流,通过ResponseEntity下载-不用将zip保存硬盘。 一、工具类:数组转字节流 /*** 写入excel* param result 传入一个横是array,竖是array的列表* param headers 表头*/FunctionComment("表头和表内容转换字节…

本文总结了magicapi将多个文件压缩成zip流,通过ResponseEntity下载-不用将zip保存硬盘。

一、工具类:数组转字节流

    /*** 写入excel* @param result  传入一个横是array,竖是array的列表* @param headers 表头*/@Function@Comment("表头和表内容转换字节流")public byte[] writeExcel(@Comment(name = "headers", value = "表头<key,value>,key是数据库字段名,value是表格的字段名")LinkedHashMap<String,String> headers,@Comment(name = "rows", value = "表内容,格式[{...},{...}]")ArrayList<Map<String,String>> rows) {SXSSFWorkbook wb = new SXSSFWorkbook();SXSSFSheet sheet = wb.createSheet("sheet1");SXSSFRow row = sheet.createRow(0);int columnIndex = 0;for(String value : headers.values()) {row.createCell(columnIndex).setCellValue(value);columnIndex++;}int rowIndex = 1;for(int i=0;i<rows.size();i++) {Map<String,String> map = rows.get(i);row = sheet.createRow(rowIndex);rowIndex++;int j = 0;for(String key : headers.keySet()) {row.createCell(j).setCellValue(map.get(key));j++;}}return getByte(wb);}/*** 返回文件流* @return*/private byte[] getByte(SXSSFWorkbook wb) {ByteArrayOutputStream bos = new ByteArrayOutputStream();try {wb.write(bos);wb.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();
//			logger.error(e.getMessage());}return bos.toByteArray();}

二、工具类:文件批量压缩

    /*** 文件批量压缩,不保存实际位置** @param byteList         文件字节码Map,k:fileName,v:byte[]* @param byteOutPutStream 字节输出流*/@Function@Comment("文件批量压缩,不保存实际位置")public void batchFileToZIP(@Comment(name = "多个map文件输入", value = "Map<String, byte[]>,String是文件名,byte是流")Map<String, byte[]> byteList, @Comment(name = "输出流", value = "stream输出,作为response输入参数")ByteArrayOutputStream byteOutPutStream) {ZipOutputStream zipOutputStream = new ZipOutputStream(byteOutPutStream);try {for (Map.Entry<String, byte[]> entry : byteList.entrySet()) {//写入一个条目,我们需要给这个条目起个名字,相当于起一个文件名称zipOutputStream.putNextEntry(new ZipEntry(entry.getKey()));zipOutputStream.write(entry.getValue());}zipOutputStream.closeEntry();} catch (IOException e) {e.printStackTrace();} finally {try {zipOutputStream.close();} catch (IOException e) {e.printStackTrace();}}}

三、脚本调用示例

magicapi脚本就可以直接调用以上2个工具类。

#调用工具类一
#表头
var headers = {'s_1': '标签1','s_2': '标签2',}
var rows = [{'s_1': '数据1',   's_2': '数据2',     }
]
#返回字节流
var stream = writeExcel(headers, rows)#调用工具类二
import java.io.ByteArrayOutputStream
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
import java.util.HashMap
Map byteFileMap = new HashMap()
byteFileMap.put("text1.csv",stream);
byteFileMap.put("text2.csv",stream);
batchFileToZIP(byteFileMap, byteArrayOutputStream);#调用magicapi的response模块三
var zipFileName = "text.zip"
return response.download(byteArrayOutputStream.toByteArray(), zipFileName)

参考:springboot将多个文件压缩成zip流并通过ResponseEntity下载-不用将zip保存硬盘_水豚少年的码农生活的博客-CSDN博客

http://www.jmfq.cn/news/5125177.html

相关文章:

  • 怎么在云服务器上搭建网站/八百客crm系统登录入口
  • 北京移动网站建设/互联网营销课程体系
  • 展台展览/windows优化大师官方免费
  • ruhe用dw做网站/什么关键词能搜到资源
  • 网站开发实验报告可行性分析/网店推广的方式
  • 在线3d建模网站/营销网站大全
  • wordpress防刷/seo推广优化工具
  • Wordpress 修改 mysql 插件/衡水seo营销
  • 我们做网站 老公弟弟也跟着做/游戏推广员骗局
  • 毕业设计做网站怎样的工作量算达标/商业软文案例
  • 人才市场官方网站/品牌策划包括哪几个方面
  • 网站地址搜索/网络推广培训去哪里好
  • 做商品网站的教学视频/百度推广方法
  • 云南最新疫情数据今天/谷歌优化师
  • 网站中弹出广告怎么做/搜索引擎营销的过程
  • 广东创粤建设有限公司网站/seo深圳优化
  • 津南房地产网站建设/百度快快速排名
  • 网站开发公司模板/站长工具忘忧草
  • 做网站销售 优帮云/百度手机助手应用商店下载
  • 网站换域名seo/西安百度
  • aspnet网站开发模板/百度网站排名优化软件
  • 做网站需要什么内容/什么叫做网络营销
  • 医院内网网站建设/网页制作
  • qq人脸解冻自助网站/云南网站推广公司
  • 网站打开很慢怎么回事啊/青岛网站建设制作
  • 遵义做手机网站建设/关于华大18年专注seo服务网站制作应用开发
  • 做农业网站怎么赚钱/网络营销策划是什么
  • 济南网站开发建设/北京网站优化托管
  • wordpress字菜单/关键词优化步骤简短
  • 企业商用网站建设企划书/百度一下就知道官网