@RequestMapping("testImportZip") public void testImportZip(MultipartFile file) throws Exception { if(null != file) { InputStream inputStream = file.getInputStream(); Charset gbk = Charset.forName("gbk"); ZipInputStream zipInputStream = new ZipInputStream(inputStream,gbk); ZipEntry zipEntry; while((zipEntry = zipInputStream.getNextEntry()) != null) { String name = zipEntry.getName(); System.out.println("name=================================================>"+name); long size = zipEntry.getSize(); //因为 new HSSFWorkbook(InputStream) new XSSFWorkbook(InputStream)会自动关闭输入流,所以先将 zipInputStream转换一下,防止zipInputStream被关闭 ByteArrayOutputStream bout = new ByteArrayOutputStream(); byte[] temp = new byte[1024]; byte[] buf = null; int length = 0; while ((length = zipInputStream.read(temp, 0, 1024)) != -1) { bout.write(temp, 0, length); } buf = bout.toByteArray(); bout.close(); ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(buf); String fileType = name.substring(name.lastIndexOf("."), name.length()); HSSFWorkbook hworkbook = null; XSSFWorkbook xworkbook = null; Sheet sheet = null; if(".xls".equalsIgnoreCase(fileType)){ hworkbook = new HSSFWorkbook(byteArrayInputStream); sheet = hworkbook.getSheetAt(0); }else if(".xlsx".equalsIgnoreCase(fileType)){ xworkbook = new XSSFWorkbook(byteArrayInputStream); sheet = xworkbook.getSheetAt(0); } if(null != sheet) { //自己的业务 for (int i = 2; i <= sheet.getLastRowNum(); i++) { Row row = sheet.getRow(i); if (row != null) { for (Cell cell : row) { String cellvalue; if (cell != null) { switch (cell.getCellType()) { case Cell.CELL_TYPE_NUMERIC: { cell.setCellType(Cell.CELL_TYPE_STRING); cellvalue = cell.getStringCellValue(); break; } case Cell.CELL_TYPE_FORMULA: { cellvalue = cell.getCellFormula(); break; } case Cell.CELL_TYPE_STRING: cellvalue = cell.getStringCellValue(); break; default: cellvalue = ""; } } else { cellvalue = ""; } System.out.println(cellvalue); } } } } } if(null != zipInputStream) { zipInputStream.close(); } } }
相关推荐
Zip则是一种文件压缩格式,它能够将多个文件打包并压缩,便于存储和传输。在这个场景中,我们讨论的是如何在Excel与zip之间进行数据交互。 首先,`Excel导入导出`涉及到的数据操作是Excel文件中的数据与其他系统或...
在Java编程环境中,实现“将数据导入多个Excel并压缩”的功能是一项常见的任务,特别是在处理大量数据的业务场景中。这个需求通常涉及到数据处理、文件操作和压缩技术。下面,我们将详细探讨实现这一功能的关键知识...
在提供的压缩包文件"jxl方式生成excel表格.zip"中,应该包含了这个示例项目的源代码和相关的jar包。通过分析和运行这些代码,开发者可以更好地理解和学习如何在Java中利用jxl库生成Excel表格。这有助于提高在实际...
在这个压缩包中,我们可能找到了一个简单的实现示例,名为"vue excel导入导出.zip",它可能包含了一个Vue项目,专门用于演示如何在Vue应用程序中实现Excel文件的读取和写入功能。 首先,要实现Excel文件的导入,Vue...
在本教程中,我们将深入探讨如何使用SpringBoot与JXLS库进行集成,以实现Excel文件的导入和导出功能。这是一个非常实用的功能,尤其在处理大量数据时,如批量用户注册、数据迁移或者数据分析等场景。让我们一起探索...
【精美Excel模板.zip】是一个包含一系列高质量Excel模板的压缩文件,这些模板设计得既专业又美观,适合在各种场合使用,比如数据分析、报告制作、财务管理等。Excel是Microsoft Office套件中的一个强大电子表格程序...
标题中的“Excel大量数据快速导入数据库源码”指的是一个编程项目,目的是实现高效地将Excel文件中的大量数据导入到数据库中。这个项目可能包含了优化的数据处理算法,以提高批量导入的效率,尤其对于处理大数据量的...
标题中的“POI千万级导入导出EXCEL工具”指的是使用Apache POI库来处理大量数据的Excel导入和导出功能。Apache POI是Java语言中用于读写Microsoft Office格式档案的开源库,特别是Excel(XLS和XLSX)文件。在大数据...
Java 读取 Excel 文件是许多开发任务中的常见需求,Apache POI 是一个广泛使用的开源库,专门用于处理 Microsoft Office 格式的文件,包括 Excel。在本案例中,提供的压缩包 "poi.zip" 包含了两个子文件:poi-bin-...
标题中的“全球国家Excel表.zip”表明这是一个包含全球各国数据的压缩文件,主要以Excel电子表格的形式呈现。这种类型的文件通常用于数据管理和分析,尤其在统计、地理信息系统(GIS)、经济学研究等领域非常常见。...
在"EPPlus.zip"中,包含了这个库的源代码和编译后的DLL文件,你可以将其添加到你的C#项目中作为引用。 在"WindowsFormsApp1"项目中,你可以看到一个简单的示例,演示了如何使用EPPlus创建一个新的Excel文件。首先,...
在IT领域,图片压缩与将图片导入Excel是两个常见的任务,尤其在数据分析、报告制作以及信息可视化中。这里我们将深入探讨这两个主题。 首先,我们来聊聊“图片压缩”。图片压缩的主要目的是减小文件大小,以便于...
当我们谈论"excel.zip",可能是有人将Excel工作簿(.xlsx或.xlsm文件)压缩成ZIP格式,这可能是为了减小文件大小便于传输,或者可能涉及到解压和提取数据的过程。 在压缩包子文件的文件名称列表中,我们看到"Advent...
本话题主要关注如何利用XML技术来导出包含多个工作表(sheet)的Excel文件,并通过zip压缩进行有效管理。以下是关于这个主题的详细知识点: 1. **XML与Excel的关系**: XML可以被用来表示Excel的数据结构,因为XML...
5. **预处理和后处理**:在导入前对数据进行清洗和预处理,导出后进行合并和压缩,可以减少实际的Excel操作次数,提高效率。 6. **硬件升级**:如果系统资源允许,增加内存容量或使用更快的SSD硬盘也可以改善导入...
在Java开发中,处理Excel数据是一项常见的任务,无论是数据导入、导出还是分析,都离不开与Excel的交互。EasyExcel是阿里巴巴开源的一个轻量级Java库,专为解决这类问题而设计。本篇文章将围绕EasyExcel的使用方法、...
通常,RAR和ZIP都是用来打包和压缩多个文件的格式。 在Excel这个广泛使用的电子表格软件中,有无数的知识点可以探讨。以下是一些可能包含在压缩包里的主题: 1. **基本操作**:如创建新工作簿、保存文件、打开已有...
在本文中,我们将深入探讨如何在SpringBoot项目中利用Maven和Java工具类实现Excel的导入与导出功能,特别是通过自定义注解和反射来获取数据。SpringBoot以其便捷的配置和强大的功能,已经成为Java开发中的热门框架,...
"Excel.dll.zip"这个压缩包就提供了这样的解决方案,其中包含了三个重要的组件:Excel.dll、ICSharpCode.SharpZipLib.dll和System.Data.dll。 首先,Excel.dll是关键的第三方库,它允许Unity与Excel文件进行交互。...
这个转换过程在许多场景下都非常实用,比如在游戏中或者数据处理应用中,可能需要把结构化的Excel表格数据导入到Unity引擎中,而Json是一种轻量级的数据交换格式,易于人阅读和编写,同时也方便计算机解析和生成。...