“无法编译的源代码 - 错误的sym类型”使用Apache POI的RuntimeException

时间:2017-03-14 00:16:17

标签: java excel apache-poi

package readexcel;

import java.io.File;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import org.apache.poi.hssf.usermodel.HSSFCell;

public class ReadExcel {

public static void main(String[] args) throws Exception 
{ 
    File f=new File("C:\\Users\\user1\\Desktop\\203132017.xls");
    Workbook wb=Workbook.getWorkbook(f);

    Sheet s=wb.getSheet(0);
    int row=s.getRows();
    int col=s.getColumns();
    HSSFCell cell;

    for (int j=0;j<200;j++){    
      Cell c=s.getCell(10,j);
      c.getContents();       
      c.setCellType(HSSFCell.CELL_TYPE_NUMERIC);       
    }
}
}        

我收到以下错误:

run:
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: jxl.Cell.setCellType
    at readexcel.ReadExcel.main(ReadExcel.java:32)

2 个答案:

答案 0 :(得分:2)

您尚未提及Apache POI库的版本。但是从您描述的错误来看,它听起来像是&gt; 3.15。

请注意,不推荐使用Apache POI类setCellType(int cellType)中的方法org.apache.poi.hssf.usermodel.HSSFCell。阅读docs

您需要改为使用方法setCellType(CellType cellType)

<强>替换

c.setCellType(HSSFCell.CELL_TYPE_NUMERIC);

<强>与

c.setCellType(org.apache.poi.ss.usermodel.CellType.NUMERIC);

答案 1 :(得分:0)

看起来您正在使用Apache Poi。请在类路径中包含所有依赖项和jar