I'm interested to see how you are creating the new sheet, wondering if something lost a reference to the StylesTable somehow. Since I have code that also manipulates styles and adds/removes cells, I'm interested to see if a bug was introduced or documentation needs improving, or perhaps some internal API is exposed without proper documentation or safety checks.
Greg On Thu, Dec 20, 2018 at 3:05 PM Rob Sargent <robjsarg...@gmail.com> wrote: > I have circumvented the situation by using copyStyleFrom(). I posted > because a) I'm setting styles on cell in a new sheet in the origin > workbook - which to me contradicts the helpful hint and b) I had been > doing exactly that in the recent pass. > > If you still want my code which generates the error I can back up a > bit. The partial stack trace I sent was all lines not in my code. > > > On 12/20/18 3:55 PM, Greg Woolsey wrote: > > Can you provide a test case, sample code, or full stacktrace? How is the > > new sheet created? It looks to me from the code that the message means > > exactly what it says - the style you are trying to set and the cell you > are > > trying to set it on come from different Workbook objects. Both the style > > and the cell hold a reference to the StylesTable object read from (or > > created for) the Workbook in which they are found. POI doesn't support > > directly assigning styles across Workbook instances. See this thread[1] > > for a description of why, and what to do instead when you need to copy a > > style between workbooks. > > > > Greg > > > > [1] > > > https://stackoverflow.com/questions/10773961/apache-poi-apply-one-style-to-different-workbooks > > > > On Thu, Dec 20, 2018 at 11:58 AM Rob Sargent <robjsarg...@gmail.com> > wrote: > > > >> I'm using 4.0.1 as of this morning hoping this would help. I have > >> recently begun to get: > >> > >> Exception in thread "main" java.lang.IllegalArgumentException: This > >> Style does not belong to the supplied Workbook Styles Source. Are > >> you trying to assign a style from one workbook to the cell of a > >> different workbook? > >> at > >> > >> > org.apache.poi.xssf.usermodel.XSSFCellStyle.verifyBelongsToStylesSource(XSSFCellStyle.java:121) > >> at > >> > org.apache.poi.xssf.usermodel.XSSFCell.setCellStyle(XSSFCell.java:667) > >> > >> and I am adding style to a cell in a new sheet, same workbook. The > >> immediate code is not new and had been working (in 4.0.0). Not sure what > >> change I made has caused this to start. > >> > >> I confess the original xlsx has been touched by LibreOffice/Calc and > >> saved as xlsx. Linux file command reports: > >> > >> file '/home/u0138544/tools/reform/Compicated Query for Rob > Tool.xlsx' > >> /home/u0138544/tools/reform/Compicated Query for Rob Tool.xlsx: > >> Microsoft OOXML > >> > >> Any suggestions appreciated. > >> > >> > >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@poi.apache.org > For additional commands, e-mail: user-h...@poi.apache.org > >