J. Doe
J. Doe

Reputation: 33

CellType cannot be resolved to a variable setCellType error Apache POI - Java

I was reading the Apache poi guide: https://poi.apache.org/spreadsheet/quick-guide.html

And I decided to follow along and type the code into my Eclipse project, and while writing the "Reading and Rewriting Workbooks" section, I got this error in eclipse:

CellType cannot be resolved to a variable

And I was wondering why? I found on another post in Stack Overflow to change this line:

cell.setCellType(CellType.STRING);

to:

cell.setCellType(HSSFCellType.STRING);//or XSSFCell

But it doesn't work, is there anything wrong with my code? (Which btw, I copied and pasted from apache's website)

 InputStream inp = new FileInputStream("workbook.xls");

 Workbook wb = WorkbookFactory.create(inp);
 Sheet sheet = wb.getSheetAt(0);
 Row row = sheet.getRow(2);
 Cell cell = row.getCell(3);
 if (cell == null)
     cell = row.createCell(3);
 cell.setCellType(CellType.STRING);
 cell.setCellValue("a test");

 //Write 
 FileOutputStream fileOut = new FileOutputStream("workbook.xls");
 wb.write(fileOut);
 fileOut.close();

Upvotes: 2

Views: 12969

Answers (3)

Mauricio Cruz
Mauricio Cruz

Reputation: 1

Use XSSFCell.CELL_TYPE_STRING or CellType.STRING

Upvotes: 0

Abdo Bmz
Abdo Bmz

Reputation: 641

Change this cell.setCellType(CellType.STRING); to :

   cell.setCellType(STRING);

Upvotes: 0

TuyenNTA
TuyenNTA

Reputation: 1204

You must consider the POI version. CellType is only available for new version of POI and the Cell is the old version. My recommendation that you should using POI version 3.15. In this version you would not have to set cell type before set value to it. (It have setStringValue or setDateValue... for you datatype)

Upvotes: 0

Related Questions