Hi Michael, I thought when the HSSFCell has no value but a style, POI with this method (Row.getCell((short) cellNb)), should return an object HSSFCell not null instead of a null object. And after a getValue() should return null, but a getCellStyle() should return the HSSFCellStyle not null ! What do you think about this?
I understand what you said beforeĀ if the HSSFCell is null, I should create one with the same style as the cell before for example. benjamin, > Benjamin - > > Ok, the problem is a little different than I had first thought. In your > case, I think you will need to either figure out which style you are using > in other cells that exist with the desired formatting or you can create a > new HSSFCellStyle that mimics the settings you need and then after you > create the new cells with HSSFCell cell = HSSFRow.createCell(column) you > will need to do a cell.setCellStyle(cellStyleId) to set the proper > formatting. > > So, first check to see if the cell exists, if so use it, else if it > returns > null then create a new cell and set the value & style. > > - MJD > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Sent: Wednesday, February 08, 2006 3:11 AM > To: POI Users List > Cc: 'POI Users List' > Subject: RE: [Question]HSSFRow.getCell(cellNb), loosing border if no data > i > n the cell > > Thanks for your message Michael, > > My problem happens when I read a file (HSSFWorkbook), like using a > template to create my own dynamic Excel file. > > For a HSSFWorkbook, and for a HSSFSheet I use a loop to parse each row > (HSSFRow). > To have the HSSFCell, I use this method : oneRow.getCell((short) cellNb) > -If ((the cell has a value inside) && (a style(a border for example))) > { > I get the correct object HSSFCell with the method oneRow.getCell( > (short) cellNb) > } > > -If((the cell has NO value)&& (a style(a border for example))) > { > I get the null Object with the method oneRow.getCell((short) cellNb) > To catch the style of this cell, I need to use this method: > HSSFCell.getCellStyle > But it is not possible to apply a method to a null object! > } > > I Hope this text makes it more clear. > > Benjamin CHALLAMEL > > >> Benjamin - >> >> If I under stand your question correctly.... HSSFCells have both a Cell >> Style and Cell Type associated with them. If you intend to have an >> empty >> cell you should set the Cell Type to HSSFCell.CELL_TYPE_BLANK and create >> a >> Cell Style with the appropriate borders and Data Format, etc. The >> HSSFCell >> class has get/set methods for the Cell Style, Cell Type, and of course >> the >> Cell Value. To create a new Cell Style see the >> HSSFWorkbook.createCellStyle() method. >> >> I haven't seen this happen before but if you are loosing the formatting >> after you update the value of a cell, you could save the Cell Style >> before >> you set the Type and Value and then set it back after you set the Type >> and >> Value to make sure the Cell Style (borders, etc) are set the way you >> want. >> >> I hope this helps, >> >> - MJD >> >> One somewhat related caveat that is not well documented: You need to >> try >> to >> share Cell Styles between all cells with identical formatting. Do not >> create a new Cell Style for each cell you create unless they are truly >> formatted uniquely. This creates a management nightmare if you have >> very >> many Cell Styles, but it's a necessary aspect of the beasties. >> >> >> -----Original Message----- >> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] >> Sent: Tuesday, February 07, 2006 10:56 AM >> To: [email protected] >> Subject: [Question]HSSFRow.getCell(cellNb),loosing border if no data in >> the >> cell >> >> Hello, >> >> I'm working with this JAR : poi-2.5.1-final-20040804.jar >> >> My problem is about reading a HSSFCell and loosing the border. >> >> We have a HSSFRow. >> I'm getting the value for a HSSFCell from a HSSFRow, with this method: >> oneCell = oneRow.getCell((short) cellNb); >> For both cases (describe after), there is a border on the specified >> cell: >> >> 1)Case "there is a value in the cell" and a border: >> >> -> "oneRow.getCell((short) cellNb)" return a HSSFCell object, after I >> can >> set an other value >> -> the value has a border >> >> 2)Case "there is no value in the cell" and a border: >> >> -> "oneRow.getCell((short) cellNb)" return null, >> -> I have to create a HSSFCell (oneCell = oneRow.createCell((short) >> cellNb)) to set the value >> -> I have lost the border. >> >> Do you know if I'm using the API in a wrong way, or maybe the I can get >> the Style of a HSSFCell somewhere? >> >> Thanx in advanced. >> >> Benjamin CHALLAMEL >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> Mailing List: http://jakarta.apache.org/site/mail2.html#poi >> The Apache Jakarta Poi Project: http://jakarta.apache.org/poi/ >> >> > **************************************************************************** >> This email may contain confidential material. >> If you were not an intended recipient, >> Please notify the sender and delete all copies. >> We may monitor email to and from our network. >> > **************************************************************************** >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> Mailing List: http://jakarta.apache.org/site/mail2.html#poi >> The Apache Jakarta Poi Project: http://jakarta.apache.org/poi/ >> >> >> >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > Mailing List: http://jakarta.apache.org/site/mail2.html#poi > The Apache Jakarta Poi Project: http://jakarta.apache.org/poi/ > > **************************************************************************** > This email may contain confidential material. > If you were not an intended recipient, > Please notify the sender and delete all copies. > We may monitor email to and from our network. > **************************************************************************** > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > Mailing List: http://jakarta.apache.org/site/mail2.html#poi > The Apache Jakarta Poi Project: http://jakarta.apache.org/poi/ > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] Mailing List: http://jakarta.apache.org/site/mail2.html#poi The Apache Jakarta Poi Project: http://jakarta.apache.org/poi/
