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

外贸公司用什么建网站公司网站开发项目管理制度

外贸公司用什么建网站,公司网站开发项目管理制度,网站程序的设计费用,南充房产网1、问题 工作中遇到一个需求#xff0c;接收一个zip包#xff0c;读取其中的excel文件并处理#xff0c;减少用户多次选择目录和文件的痛点#xff0c;该zip包包含多级目录 2、依赖 需要用到apache的Workbook类来操作Excel#xff0c;引入以下依赖 dependency接收一个zip包读取其中的excel文件并处理减少用户多次选择目录和文件的痛点该zip包包含多级目录 2、依赖 需要用到apache的Workbook类来操作Excel引入以下依赖 dependencygroupIdorg.apache.poi/groupIdartifactIdpoi-ooxml/artifactIdversion3.9/version /dependency3、具体实现 public ListWorkbook getExcelsFromZip(MultipartFile multipartFile) {ZipInputStream zis null;ListWorkbook workbooks new ArrayList();try {// 构建zip流zis new ZipInputStream(multipartFile.getInputStream());// 获取文件条目,此方法读取的问zip包中所有条目(目录和文件),多级目录下的所有文件和目录均会被读取ZipEntry zipEntry zis.getNextEntry();while (zipEntry ! null) {// 判断类型是否为文件if (!zipEntry.isDirectory()) {// 获取文件名String fileName zipEntry.getName();/* 后缀名 */int suffixIndex fileName.lastIndexOf(.);String suffix suffixIndex 0 ? fileName.substring(suffixIndex) : ;// 判断是否为excel文件if (.xls.equals(suffix) || .xlsx.equals(suffix)) {/* 读取文件 */ByteArrayOutputStream out new ByteArrayOutputStream();byte[] buffer new byte[1024];int len;// 在调用了getNextEntry()后,zis就指向了获取到的ZipEntry,读取zis流实际就是读取当前ZipEntry,不会读取到其他条目while ((len zis.read(buffer)) 0) {out.write(buffer, 0, len);}ByteArrayInputStream in new ByteArrayInputStream(out.toByteArray());/* 构建Workbook */Workbook wb;if (.xls.equals(suffix)) {// 老版excel格式,使用HSSFWorkbookwb new HSSFWorkbook(in);}else {// 新版excel格式,使用XSSFWorkbookwb new XSSFWorkbook(in);}workbooks.add(wb);// 关闭当前ZipEntry,确保不会重复处理zis.closeEntry();// 获取下一条目zipEntry zis.getNextEntry();}}}} catch (IOException e) {throw new RuntimeException(e);}finally {if (zis ! null) {try {zis.close();} catch (IOException e) {throw new RuntimeException(e);}}}return workbooks;}3、技术要点 1ZipInputStream.getNextEntry()方法 【1】该方法可获取到zip包内的各级目录及各级目录下的文件并不需要进行递归处理。  【2】ZipInputStream实例调用该方法后将会指向获取到的条目这时使用ZipInputStream实例操作的就是获取到的ZipEntry对象。可通过ZipInputStream.closeEntry()和ZipInputStream.getNextEntry()迭代到下一个ZipEntry条目。 2为什么选择ByteArrayInputStream和ByteArrayInputStream获取Workbook 二者是在内存中处理字节的IO流不同于磁盘IO流会在磁盘中创建临时文件读写处理速度会更快在内存中处理数据也符合业务需求。 3为什么不使用Workbook wb WorkbookFactory.create(zis);直接转化 实测使用WorkbookFactory.create(zis)会关闭流导致无法读取后续条目
http://www.hkea.cn/news/14268060/

相关文章:

  • 个人网站建设方法和过程wordpress多站模式
  • 上海网站建设网页苏州市吴江建设局网站
  • 室内设计师之路网站百度做广告多少钱
  • 网站硬件建设公司怎样建设阿里巴巴网站
  • 做网站被骗培训网页
  • 山东建设兵团网站wordpress api 跨域
  • icp备案网站信息查询做论坛网站的元素
  • 搭建一个网站要多少怎么创业做电商
  • 不花钱的网站建设沧州做家装的公司网站
  • 门户网站开发 报价网站支付怎么做的
  • 营销型集团网站班级网站成品
  • 可免费商用的cms建站系统学生个人网页制作素材
  • 美化网站公司英文网站营销
  • 厦门旅游网站建设目的gvm网站是什么类的网站
  • 自己怎么做农好产品网站纪念平台网站建设
  • 广西网站建设seo优化给 小企业 建设网站
  • 怎样创建微网站网站被采集了 一个栏目不收录
  • ps制作网站模板台州seo网站推广
  • 南京移动网站建设报价北京公司摇号需要哪些资格条件
  • 推广网站加盟企业营销型网站建设的可行性分析
  • 网站商城建设合同免费下载企业网站设计素材
  • 网站制作与建设与网页制作wordpress的seo如何写关键词
  • 广州网站制作建设网站seo属于什么专业
  • 做网站的资金来源修改wordpress登录界面
  • 做公益的网站大兴手机网站建设
  • 大连建站费用免费开发平台网站
  • wordpress建站教程无极app定制开发公司网站模板
  • 网站推广做多大尺寸wordpress搭二级菜单404
  • 做家电选招标采购哪一个网站好免费com域名网站
  • 网站制定北京各大网站推广平台哪家好