That copyRows method doesn't allow you to specify the CellCopyContext. We probably should add a variant of copyRows that supports this extra param. The context keeps track of styles so that it avoids adding the same style over and over - i.e. it spots the duplicate styles.
This example might be useful https://github.com/pjfanning/excel-streaming-reader/blob/main/src/test/java/com/github/pjfanning/xlsx/CopyToSXSSFUtil.java CellUtil.copyCell - this method can take a CellCopyContext instance. On Tue, 11 Feb 2025 at 17:48, Dan S <[email protected]> wrote: > > I hope I am addressing the right list. I am an Apache NIFI developer and I > have developed an Apache NIFI processor named SplitExcel which splits a > multi sheet Microsoft Excel spreadsheet into multiple Microsoft Excel > spreadsheets where each sheet from the original file is converted to an > individual spreadsheet. Source code for this can be found here > <https://github.com/apache/nifi/blob/main/nifi-extension-bundles/nifi-poi-bundle/nifi-poi-services/src/main/java/org/apache/nifi/processors/excel/SplitExcel.java> > (lines > 165-188). > In order to accomplish this, I use the > com.github.pjfanning.xlsx.StreamingReader to stream the Excel workbook > which allows for easy looping over each sheet. I create a new XSSFWorkbook > for each sheet there is in the existing workbook and I use XSSFSheet > copyRows method to copy the rows from the existing sheet to a new sheet to > place in the new XSSFWorkbook. The CellCopyPolicy used has cellStyle set to > false in order to avoid exceeding the maximum number of cell styles (fixed > in NIFI-13726 <https://issues.apache.org/jira/browse/NIFI-13726>). The > drawback though of using cellStyle set to false is that any columns which > have dates, its date formatting is lost and what is left is a meaningless > number (reported in NIFI-14106 > <https://issues.apache.org/jira/browse/NIFI-14106>). Is there a way I can > use copyRows not to exceed the maximum number of cell styles and yet have > the formatting needed for dates? --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
