- 浏览: 35184 次
- 性别:
- 来自: 北京
文章分类
最新评论
今天刚好在做对于一个存在的excel文件的编辑,使用到了POI中的XSSFWorkBook
try ( InputStream inputStream = new FileInputStream(bioCloudProperties.getSampleInformationConfig().getSampleImportExcelPath()); FileOutputStream out = new FileOutputStream(filePath); ) { Files.copy(inputStream, Paths.get(filePath)); XSSFWorkbook xssfWorkbook = new XSSFWorkbook(new FileInputStream(filePath)); XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0); xssfSheet.getRow(0).createCell(1).setCellValue(simpleInformation.getCourierNumber()); xssfSheet.getRow(1).createCell(1).setCellValue(simpleInformation.getContractName()); xssfSheet.getRow(2).createCell(1).setCellValue(simpleInformation.getContractNum()); ContractInformation contractInformation = (ContractInformation) JSONObject.toBean(JSONObject.fromObject(simpleInformation.getContractInformation()), ContractInformation.class); xssfSheet.getRow(3).createCell(1).setCellValue(contractInformation.getProductType().get(0)); xssfSheet.getRow(4).createCell(1).setCellValue(contractInformation.getClientName()); AttachmentFile attachmentFile = getAttrachFileJson(simpleInformation); if (TissueSample.name().equalsIgnoreCase(simpleInformation.getSampleType())) { SampleInformationOverView sampleInformationOverView = (SampleInformationOverView) JSONObject.toBean(JSONObject.fromObject(simpleInformation.getSampleInformationOverview()), SampleInformationOverView.class); //运输条件 xssfSheet.getRow(5).createCell(1).setCellValue(sampleInformationOverView.getTransportation()); xssfSheet.getRow(6).createCell(1).setCellValue(sampleInformationOverView.getAdviceSave()); xssfSheet.getRow(7).createCell(1).setCellValue(sampleInformationOverView.getExtractBeforeDo()); xssfSheet.getRow(8).createCell(1).setCellValue("否"); JSONArray array = JSONArray.fromObject(simpleInformation.getDetailedSampleInformation()); //设置内容 int lineSize = array.size(); for (int i = 11; i < lineSize+11; i++) { DetailSampleInformation detailSampleInformation = (DetailSampleInformation) JSONObject.toBean(JSONObject.fromObject(array.get(i-11)), DetailSampleInformation.class); if (detailSampleInformation.getIsMinSample().equalsIgnoreCase("是")) { xssfSheet.getRow(8).createCell(1).setCellValue("是"); } XSSFRow contentRow = xssfSheet.createRow(i); SampleStaticContent.setTissueSampleImportTableValue(sampleInformationOverView, detailSampleInformation, TissueSample, contentRow); } xssfWorkbook.write(out); LOG.info("write sample import file end"); } } catch (Exception e) { LOG.info("信息单号:{}将样品内容转换为文件出现异常:{}", simpleInformation.getId(), e.getMessage()); }
重点代码段:
InputStream inputStream = new FileInputStream(bioCloudProperties.getSampleInformationConfig().getSampleImportExcelPath()); FileOutputStream out = new FileOutputStream(filePath); Files.copy(inputStream, Paths.get(filePath)); XSSFWorkbook xssfWorkbook = new XSSFWorkbook(new FileInputStream(filePath)); xssfWorkbook.write(out);
发表评论
-
excel中插入图片
2020-09-25 11:03 3571、创建excel Workbook wb = ne ... -
阿里云OSS目录删除
2020-09-25 10:44 6531、列举指定目录下的文件 以下代码用于列举指定个数的文件 ... -
使用SAMBA 访问分享文件
2018-09-07 15:12 354/** * samba共享文件读取 ... -
使用RestTemplate将本地文件上传到服务器
2018-09-07 15:08 992/** * 将本地文件上传到文件系统 ... -
java 内存模型介绍
2018-08-23 10:22 377java 内存模型介绍 jvm 内存模型文 ... -
java 操作docker 容器
2018-08-21 14:53 1236java 操作docker 容器 github之dock ... -
java中获取用户的真实ip
2018-08-21 11:32 505获取登录用户的真实ip地址: /** * 用于 ... -
spring cloud 中使用zuul作为路由时上传文件名称乱码处理
2018-07-25 14:18 3026最近在做关于文件上传的接口,但是不管怎么处理,文件的名称总是乱 ... -
java连接ssh到服务器执行命令(免密码)
2018-07-09 16:00 4178今天在做不同服务器间,免密码执行curl 命令 ssh ... -
interface和abstract类的异同
2018-05-07 16:34 8651、jdk 1.8 之后,interface中的方法可以有方法 ... -
java中自定义注解
2018-05-07 09:48 448java 自定义注解中的三个主要注解: @Target ... -
使用jhipster构建微服务,在打包启动是报错:liquibase.exception.LockException: Could not acquire ch
2018-01-10 15:21 4188报错的信息: liquibase.exception. ... -
HashMap四种取值的效率问题
2017-12-29 15:37 3413日常开发中会经常用到map来存取值,但是对于HashMap中的 ... -
文章内容关键字或短语替换
2017-12-29 13:55 747分析的源文件内容: <fileNode access ... -
前端项目跨域问题
2017-03-29 17:55 542前端项目访问主干项目出现跨域问题的解决方案: 1、主干项目 ... -
tomcat中配置memcached,共享session
2017-03-28 15:49 440Memcached Session Manager 简称ms ... -
spring学习
2016-04-02 08:25 386一、spring 1、Spring是一个大容器,目的是为了简 ...
相关推荐
当我们谈论“poi excel加密”时,这通常是指使用Apache POI来处理加密的Excel文件。Excel文件可以被加密以保护其内容不被未经授权的用户访问,而Apache POI提供了API来支持这种操作。 首先,我们需要了解Excel文件...
学习和理解这些知识点后,开发者可以利用POI库轻松地在Java应用程序中生成、编辑和读取Excel文件,满足各种业务需求。对于“poi-3.8-beta5”和“poi-bin.tar.gz”,它们可能是POI的特定版本,用于实际开发和运行示例...
此外,POI还支持读取已存在的Excel文件,解析其中的数据,并进行相应的处理。 导出Excel的过程则相反。首先,你需要创建一个新的Workbook对象,然后创建Sheet和Row,填充Cell数据。最后,使用Workbook的write方法将...
总结来说,Apache POI是Java处理Excel文件的强大工具,通过它我们可以轻松地实现Excel的上传和下载功能,满足Web应用中的数据交互需求。在实际项目中,理解并掌握POI的使用方法对于提升工作效率至关重要。
标题中的“以SWT为界面,用POI读取、修改excel文件(源码)”指的是一个Java编程项目,它利用了两种主要的技术:SWT(Standard Widget Toolkit)和Apache POI,来创建用户界面并处理Microsoft Excel文件。下面将详细...
首先说说现在我所知道的Java编辑Excel文件的两大开源工具: jakarta POI和JavaExcelAPI(简称JXL),这两套工具我都试用了一这段时间,感觉各有优劣吧。POI在某些细节有些小Bug并且不支持写入图片,其他方面都挺...
POI库通过ole2接口与Excel文件进行交互,创建的对象可以控制诸如字体、颜色、单元格样式等属性,与直接编辑Excel文件无异。 POI库包含多个组件,其中核心的有HSSF(Horrible Spreadsheet Format),用于处理Excel的...
- **图表与图像**: 通过XSSF,可以创建、编辑和插入图表以及图片到Excel文件中。 - **样式与格式**: 提供了丰富的样式对象,可以设置单元格的填充、边框、字体样式等。 - **事件模型**: POI还提供了一个事件模型...
在这个特定的场景中,POI 3.8版本据说修复了一个关于删除工作表(sheet)的bug,使得用户能够更加方便地对现有Excel文件进行编辑。 描述中提到,“可读写Excel2007,可修改Excel,貌似修正了删除sheet的bug。”这...
总的来说,这些文档和资源将帮助开发者深入理解如何使用Apache POI在Java环境中生成、编辑和格式化Excel文件,特别关注了中文字符处理和自动调整列宽等实际问题,提供了多种实用的解决方案。对于那些需要处理Excel...
Apache POI提供了一个API,允许开发者在Java应用程序中创建、修改和读取Excel文件。尽管POI主要设计为处理XLS和XLSX格式,但通过简单的转换,我们也能利用它生成CSV文件。 首先,我们需要在项目中引入Apache POI的...
6. **性能优化**:Apache POI库本身在处理大量数据时可能存在性能问题,这个工具类可能会通过一些优化策略,如内存管理、流式写入等,来改善处理大型Excel文件的效率。 在实际应用中,这个工具类可以广泛应用于数据...
同样,使用`WorkbookFactory.create()`方法,但传入已存在的Excel文件,可以读取工作簿内容。 3. 添加和删除工作表 通过`Workbook.createSheet()`方法添加新工作表,`Workbook.removeSheetAt()`方法删除指定索引的...
### Java的POI操作Excel文件知识点详解 #### 一、POI简介与应用场景 Apache POI 是一个开源项目,由 Apache 软件基金会维护,主要用于处理 Microsoft Office 格式的文件,尤其是 Excel 和 Word 文件。POI 提供了一...
8. **图表**:尽管在3.7版本中可能功能有限,但POI确实提供了创建和编辑Excel图表的能力。 9. **事件模型**:对于大文件,可以使用事件模型(SXSSF)进行内存效率更高的处理,避免一次性加载整个文件到内存中。 10...
POI项目为开发者提供了API,使得在没有安装Microsoft Office的情况下,仍能用Java程序操作Excel文件。 【描述】中的关键信息点包括: 1. **Java语言**:这是实现Excel解析的基础,Java是一种广泛使用的面向对象的...
综上所述,Java解析Excel文件使用Apache POI库可以方便地完成读取、写入和编辑Excel文档的工作,而提供的压缩包文件则包含了不同版本的库以及可能的使用说明,为开发者提供了完整的工具集。在实际开发中,应根据项目...
Java POI 是一个开源项目,专门用于处理Microsoft Office...通过熟练掌握其API和技巧,你可以轻松实现Excel文件的导出、读取和编辑。在实际项目中,根据具体需求选择合适的API和优化策略,可以提高代码的效率和稳定性。
对于Excel文件(.xls和.xlsx),有HSSF(Horrible Spreadsheet Format)和XSSF(XML Spreadsheet Format);而对于PowerPoint文件(.ppt和.pptx),则是HSLF(Horrible Slide Library Format)和XSLF(XML Slide ...
首先,使用Apache POI读取Excel文件: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.File; import java.io.FileInputStream; import java....