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]

Reply via email to