Yes. DataFormatter does what you want: get the string representation of the
cell contents (numeric, date, string, boolean, blank, error, formula)

On Aug 18, 2016 18:54, "陈 杨阳" <niaomingj...@outlook.com> wrote:

> Actually, I want to get the value in cells and change them to String in
> Java.(numeric -> String, string -> String, and so on).
> Sometimes, I'm not sure what CellType it is. So I want to know the
> CellType at first, and then I can convert them to String.
>
> As you said, I can directly use DataFormatter to convert the cell value to
> a printed String. The printed String is what I want. Am I correct?
>
> > -----元のメッセージ-----
> > 差出人: Javen O'Neal [mailto:javenon...@gmail.com]
> > 送信日時: 2016年8月12日 23:35
> > 宛先: POI Users List <user@poi.apache.org>
> > 件名: Re: The CellType of a cell which is set to String
> >
> > To see how Excel actually saved the values, unzip the xlsx file and open
> > sheet1.xml. You should see a couple <c> elements, with a value and type.
> >
> > On Aug 12, 2016 8:32 AM, wrote:
> >
> > The cell data format is a distinct concept from the cell value. The
> format only
> > defines how the value should be printed, but doesn't change the
> underlying value.
> >
> > If you want to convert the cell value to a printed string, use
> > https://poi.apache.org/apidocs/org/apache/poi/ss/
> usermodel/DataFormatter.ht
> > ml
> >
> > On Aug 12, 2016 2:59 AM, "niaomingj...@outlook.com" <
> niaomingj...@outlook.com>
> > wrote:
> >
> > Hi
> >
> > In a excel,
> > Firstly, I typed '1' in A1, then I changed the format of this cell to
> String.
> > Secondly, I changed the format of A2 to Standard(the default format),
> then I
> > typed '1' in this cell.
> > Finally, I saved this excel.
> >
> > This is my excel file for test.
> > I’m using poi 3.14.
> > My source is very simple, as following:
> > ================================================
> > File file = new File("1.xlsx");
> >
> > Workbook wb = WorkbookFactory.create(file);
> >
> > Sheet sheet = wb.getSheetAt(0);
> >
> > System.out.println(sheet.getRow(0).getCell(0).getCellType());
> > System.out.println(sheet.getRow(1).getCell(0).getCellType());
> >
> > wb.close();
> > ================================================
> >
> > output:
> > ============
> > 0
> > 1
> > ============
> >
> > The result shows that A1's type is CELL_TYPE_NUMERIC, and A2's type is
> > CELL_TYPE_STRING.
> >
> > Though I set both cells to String, the results are different.
> >
> > In addition, in this excel, the appearance of these two cells are also
> different.
> > There is a green triangle at the top-right corner of A2.
> >
> > Could anyone explain this for me?
> >
> > Regards,
> > Young
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscr...@poi.apache.org For additional
> > commands, e-mail: user-h...@poi.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@poi.apache.org
> For additional commands, e-mail: user-h...@poi.apache.org
>

Reply via email to