I'd love it if someone submitted a patch which threw an exception when the max had been reached....
On 7/9/03 5:41 AM, "Avik Sengupta" <[EMAIL PROTECTED]> wrote: > Well, yes, in general you need to cache individual/separate styles. See > the mail from Adam Reeve.. his mail contains an actual implementation.. > you do a similar thing, but obviously use more elements for the key. So > while you may not know upfront what permutations you need, you can have > the code keep track and generate new styles on demand. If would get more > complicated if you are not specifying the same elements for each call > (eg, one style you specify using color and font weight, while another > you specify using color, and font type) ... but it can be done using > some form of defaulting and/or multidimensional search. > > In relation to whether that will end up creating the "too many styles > problem" in any case... well, you will not have a different style for > each cell, will you. Even in relatively sophisticated sheets, the number > of styles will usually be far far less than the number of cells. The > exact number of formats that cause excel to complain.. i dont know. > Maybe someone on the list has done some experiments? > > Regards > - > Avik > > > On Wed, 2003-07-09 at 14:53, Singh, Arshi (Indsys) wrote: >> Your strategy is good but what if i need a style that is a combination of a >> couple of styles...like color, bold, underline, border, align, background, >> fontsize, font type etc. The style required could be a combination of any of >> these styles which is not known to me in advance. Should i create a cache of >> all possible permutations n combinations of these styles? Wouldnt that end >> up exceeding the "Too many styles " limit. >> >> Arshi >> >> -----Original Message----- >> From: Avik Sengupta [mailto:[EMAIL PROTECTED] >> Sent: Wednesday, July 09, 2003 2:16 PM >> To: POI Users List >> Subject: RE: creating second hssf sheet >> >> >> That code obviously wont work.. the style is accessed when serialisation >> happens, and by then the style is ALIGN_RIGHT. >> >> The general strategy is >> >> HSSFCellStyle right = >> wb.createCellStyle();right.setAlignment(HSSFCellStyle.ALIGN_RIGHT); >> >> HSSFCellStyle left = >> wb.createCellStyle();left.setAlignment(HSSFCellStyle.ALIGN_GENERAL); >> >> while(i have data){ >> ... create cell; >> if (cell should be right) cell.setStyle(right); else >> cell.setStyle(left); >> } >> >> >> Caveat: The above is very pseudo code... please check the api. >> >> As regards your question on clearing after a sheet, afaik, formats are >> stored globally in the workbook, not at each sheet. Tho i must say that >> the exact semantics of when Excel complains about "Too many styles" is >> not fully known. >> >> On Wed, 2003-07-09 at 11:21, Singh, Arshi (Indsys) wrote: >>> Hi, >>> I went through the sample code in FAQ. My requirement is such that i >> need >>> a no. of fonts n styles. Thats why i was creating a new style n font >>> everytime i needed one. But instead if i try to use the same style by >>> changing all the values back to normal, then the latest style n font gets >>> populated for the previous cells also. >>> eg:- >>> HSSFCellStyle cell_style = wb.createCellStyle(); >>> cell_style.setAlignment(HSSFCellStyle.ALIGN_RIGHT); >>> sheet_cell.setCellStyle(cell_style); >>> >>> cell_style.setAlignment(HSSFCellStyle.ALIGN_GENERAL); >>> sheet_cell2.setCellStyle(cell_style); >>> >>> Now its the ALIGN_GENERAL (second style) that gets set for the first >>> cell also. >>> I believe there is a font table for storing all the workbook fonts. Is >> there >>> a way to delete fonts from this, after one sheet is made...so that space >> for >>> more fonts can be made available. >>> >>> Thanks, >>> Arshi. >>> -----Original Message----- >>> From: Michael Zalewski [mailto:[EMAIL PROTECTED] >>> Sent: Wednesday, July 09, 2003 9:30 AM >>> To: POI Users List >>> Subject: RE: creating second hssf sheet >>> >>> >>> It probably doesn't help much, cuz the real URL is >>> >>> http://jakarta.apache.org/poi/faq.html#faq-N100C2 >>> >>> And the short answer is that you have to limit the number of HSSFStyle >>> objects that you create. If you create a new one for each cell, you make >> too >>> many for Excel to handle. The FAQ contains good sample code. >>> >>> -----Original Message----- >>> From: Avik Sengupta [mailto:[EMAIL PROTECTED] >>> Sent: Tuesday, July 08, 2003 11:32 AM >>> To: POI Users List >>> Subject: Re: creating second hssf sheet >>> >>> Does this help? >>> http://jakarta.apache.org/poi/faq#faq-N100C2 >>> >>> >>> On Tue, 2003-07-08 at 18:46, Singh, Arshi (Indsys) wrote: >>>> Hi, >>>> I have created a new workbook using POI hssf and made one excel sheet >>>> containing a number of fonts, styles etc. After that when i try to >> create >>> a >>>> second sheet , it gives problems. >>>> If i try to create a small sheet 2 with a few lines of different >>>> fonts then the fonts do not show as desired in sheet 2 and if i try to >>>> create a big sheet 2 having tables and orientations then the my output >>> excel >>>> file does not even open up and shows the error "Too Many Different Cell >>>> Formats". >>>> Can somebody please help me detect the error. Could it be because >> of >>>> some buffer in memory ???? >>>> Thanks, >>>> Arshi. >>>> >>> >>> [useless trailers snipped] >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >>> "THIS E-MAIL MESSAGE ALONG WITH ANY ATTACHMENTS IS INTENDED ONLY FOR THE >>> ADDRESSEE and may contain confidential and privileged information. >>> If the reader of this message is not the intended recipient, >>> you are notified that any dissemination, distribution or copy of this >>> communication is strictly Prohibited. >>> If you have received this message by error, please notify us >>> immediately, return the original mail to the sender and delete the >>> message from your system." >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> -- Andrew C. Oliver http://www.superlinksoftware.com/poi.jsp Custom enhancements and Commercial Implementation for Jakarta POI http://jakarta.apache.org/poi For Java and Excel, Got POI? --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
