2017-03-14 14 views
-2
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);  
    } 
} 
}   

を使用してのRuntimeException:"互換性のないソースコード - 誤っSYMタイプ" 私は次のエラーを取得していますApacheのPOI

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

c.setCellType(HSSFCell.CELL_TYPE_NUMERIC);

を交換しては、クラスパスに含まれているあなたの依存関係はありますか?このコードは壊れていますか(IDEによってフラグが立てられている可能性があります)? –

答えて

0

は、あなたがApacheのポイを使用している見えます。あなたのクラスパスにすべての依存関係とjarを含めてください

+1

彼らは私のクラスパスにあり、コードはc.setCellType(HSSFCell.CELL_TYPE_NUMERIC)なしで動作しています。しかし、私はセルのif文を記述したいので、これで動作する必要があります。 (c = 8)と書くと、cは型のセル、8はintと書かれています。 – justaskingforproject

+1

https://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/Cell.htmlに従ってCELL_TYPE_NUMERICは廃止予定です。次のc.setCellType(HSSFCell.CellType.NUMERIC)を試してください。 –

+1

私はそれを変更しましたが、動作しませんでした。cellTypeに下線が引かれていて、シンボルを見つけることができず、エラーが発生しています。 – justaskingforproject

2

あなたのApache POIライブラリのバージョンについては言及していません。しかし、あなたが説明したエラーから、> 3.15のように聞こえます。

Apache POIクラスorg.apache.poi.hssf.usermodel.HSSFCellsetCellType(int cellType)メソッドは廃止され、削除されています。 docsを読んでください。

代わりにsetCellType(CellType cellType)メソッドを使用する必要があります。

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

+0

私はこれをまだ試してみました。もし、Cell型をint型に変換する別の方法があれば、それは素晴らしいでしょう。細胞の種類にはまだ下線が引かれています。 – justaskingforproject

+0

またはセルタイプの文のif文を使用する方法 – justaskingforproject

+0

上記の提案を試したときに新たに発生するエラーは何ですか? – VHS

関連する問題