`

POI编辑存在的EXCEL文件

阅读更多

今天刚好在做对于一个存在的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);

    
分享到:
评论

相关推荐

    poi excel加密

    当我们谈论“poi excel加密”时,这通常是指使用Apache POI来处理加密的Excel文件。Excel文件可以被加密以保护其内容不被未经授权的用户访问,而Apache POI提供了API来支持这种操作。 首先,我们需要了解Excel文件...

    java生成excel文件(poi).rar_POI java_java excel_poi EXCEL模板_poi-3.8-

    学习和理解这些知识点后,开发者可以利用POI库轻松地在Java应用程序中生成、编辑和读取Excel文件,满足各种业务需求。对于“poi-3.8-beta5”和“poi-bin.tar.gz”,它们可能是POI的特定版本,用于实际开发和运行示例...

    poi 导入导出Excel相关jar包

    此外,POI还支持读取已存在的Excel文件,解析其中的数据,并进行相应的处理。 导出Excel的过程则相反。首先,你需要创建一个新的Workbook对象,然后创建Sheet和Row,填充Cell数据。最后,使用Workbook的write方法将...

    POI实现的excel的上传下载

    总结来说,Apache POI是Java处理Excel文件的强大工具,通过它我们可以轻松地实现Excel的上传和下载功能,满足Web应用中的数据交互需求。在实际项目中,理解并掌握POI的使用方法对于提升工作效率至关重要。

    以SWT为界面,用POI读取、修改excel文件(源码)

    标题中的“以SWT为界面,用POI读取、修改excel文件(源码)”指的是一个Java编程项目,它利用了两种主要的技术:SWT(Standard Widget Toolkit)和Apache POI,来创建用户界面并处理Microsoft Excel文件。下面将详细...

    java的POI操作Excel文件

    首先说说现在我所知道的Java编辑Excel文件的两大开源工具: jakarta POI和JavaExcelAPI(简称JXL),这两套工具我都试用了一这段时间,感觉各有优劣吧。POI在某些细节有些小Bug并且不支持写入图片,其他方面都挺...

    java的POI操作Excel文件.docx

    POI库通过ole2接口与Excel文件进行交互,创建的对象可以控制诸如字体、颜色、单元格样式等属性,与直接编辑Excel文件无异。 POI库包含多个组件,其中核心的有HSSF(Horrible Spreadsheet Format),用于处理Excel的...

    POI实现全版本支持Excel读写工具包

    - **图表与图像**: 通过XSSF,可以创建、编辑和插入图表以及图片到Excel文件中。 - **样式与格式**: 提供了丰富的样式对象,可以设置单元格的填充、边框、字体样式等。 - **事件模型**: POI还提供了一个事件模型...

    读写Excel2007 POI3.8

    在这个特定的场景中,POI 3.8版本据说修复了一个关于删除工作表(sheet)的bug,使得用户能够更加方便地对现有Excel文件进行编辑。 描述中提到,“可读写Excel2007,可修改Excel,貌似修正了删除sheet的bug。”这...

    poi生成excel实例

    总的来说,这些文档和资源将帮助开发者深入理解如何使用Apache POI在Java环境中生成、编辑和格式化Excel文件,特别关注了中文字符处理和自动调整列宽等实际问题,提供了多种实用的解决方案。对于那些需要处理Excel...

    poi导出cvs文件

    Apache POI提供了一个API,允许开发者在Java应用程序中创建、修改和读取Excel文件。尽管POI主要设计为处理XLS和XLSX格式,但通过简单的转换,我们也能利用它生成CSV文件。 首先,我们需要在项目中引入Apache POI的...

    基于POI的Excel多Sheet页导出导入工具类

    6. **性能优化**:Apache POI库本身在处理大量数据时可能存在性能问题,这个工具类可能会通过一些优化策略,如内存管理、流式写入等,来改善处理大型Excel文件的效率。 在实际应用中,这个工具类可以广泛应用于数据...

    Java Poi 操作excel的API 好用

    同样,使用`WorkbookFactory.create()`方法,但传入已存在的Excel文件,可以读取工作簿内容。 3. 添加和删除工作表 通过`Workbook.createSheet()`方法添加新工作表,`Workbook.removeSheetAt()`方法删除指定索引的...

    java的POI操作Excel文件.doc

    ### Java的POI操作Excel文件知识点详解 #### 一、POI简介与应用场景 Apache POI 是一个开源项目,由 Apache 软件基金会维护,主要用于处理 Microsoft Office 格式的文件,尤其是 Excel 和 Word 文件。POI 提供了一...

    Excel操作java后台poi3.7包

    8. **图表**:尽管在3.7版本中可能功能有限,但POI确实提供了创建和编辑Excel图表的能力。 9. **事件模型**:对于大文件,可以使用事件模型(SXSSF)进行内存效率更高的处理,避免一次性加载整个文件到内存中。 10...

    POI解析Excel文档

    POI项目为开发者提供了API,使得在没有安装Microsoft Office的情况下,仍能用Java程序操作Excel文件。 【描述】中的关键信息点包括: 1. **Java语言**:这是实现Excel解析的基础,Java是一种广泛使用的面向对象的...

    java解析excel文件 poi.jar

    综上所述,Java解析Excel文件使用Apache POI库可以方便地完成读取、写入和编辑Excel文档的工作,而提供的压缩包文件则包含了不同版本的库以及可能的使用说明,为开发者提供了完整的工具集。在实际开发中,应根据项目...

    java poi excel文件导出工具

    Java POI 是一个开源项目,专门用于处理Microsoft Office...通过熟练掌握其API和技巧,你可以轻松实现Excel文件的导出、读取和编辑。在实际项目中,根据具体需求选择合适的API和优化策略,可以提高代码的效率和稳定性。

    Android上使用POI抽取WordExcel和PPT内容工程源码

    对于Excel文件(.xls和.xlsx),有HSSF(Horrible Spreadsheet Format)和XSSF(XML Spreadsheet Format);而对于PowerPoint文件(.ppt和.pptx),则是HSLF(Horrible Slide Library Format)和XSLF(XML Slide ...

    java Excel文件转PDF文件

    首先,使用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....

Global site tag (gtag.js) - Google Analytics