2014-01-14 49 views
0

我正在使用JExcel API讀取Eclipse中的.xls文件。這裏是我的代碼:JExcel API中的Workbook.getWorkbook()錯誤

import jxl.*; 
import java.io.File; 

public class JExcelDemoClass 
{ 
    public static void main(String[] args) 
    { 
     try 
     { 
      Workbook wrk1=new Workbook.getWorkbook("C:\\Test.xls"); 
      Sheet sheet1=wrk1.getSheet(0); 
      Cell col1row1=sheet1.getCell(0,0); 
      Cell col1row2=sheet1.getCell(0,1); 
      Cell col1row3=sheet1.getCell(0,2); 
      String get_col1row1=col1row1.getContents(); 
      String get_col1row2=col1row2.getContents(); 
      String get_col1row3=col1row3.getContents(); 
      System.out.println(get_col1row1); 
      System.out.println(get_col1row2); 
      System.out.println(get_col1row3); 
     } 
     catch(Exception e) 
     { 
      System.out.println("Error"); 
     } 

    } 
} 

當我嘗試運行這段代碼時,Eclipse讓我錯誤

Workbook.getWorkbook不能被解析爲一個類型
任何想法,爲什麼我收到此錯誤?

回答

3

此行的語法是錯誤的:

Workbook wrk1=new Workbook.getWorkbook("C:\\Test.xls"); 

你試圖在Workbook類的靜態方法使用new。正確的語法是:

Workbook wrk1 = Workbook.getWorkbook("C:\\Test.xls"); 

(無new關鍵字)

+0

爲什麼我找不到'Workbook.getWorkbook'? 當我說工作簿。我反而得到一些像這樣的常量'Workbook.PICTURE_TYPE_JPEG' – Muddz

0

有在JExcel創建工作簿的兩種方式。兩者都需要File對象。

不可寫的工作簿:

Workbook workbook = Workbook.getWorkbook(new File("D:\\file2.xls")); 

或通過創建具有

WritableWorkbook writableWorkbook = Workbook.createWorkbook(new File("D:\\file1.xls")); 

工作簿的可寫簿本身是一個抽象類,可以與不同的返回類型(WritableWorkbooks和工作簿)不同方法。

getWorkbookcreateWorkbook是使用工廠模式

退房的Java文檔的詳細信息,JExcel

+0

爲什麼找不到'Workbook.createWorkbook'? 當我說工作簿。我反而得到了一些像這樣的常量'Workbook.PICTURE_TYPE_JPEG' – Muddz

+0

@Muddz我早已停止使用JExcel,甚至Java在工作。最新版本確實說有一個[這裏](http://jexcelapi.sourceforge.net/resources/javadocs/2_6_10/docs/index.html),但僅限於具體的'WritableWorkbook'。 – Pureferret