2015-02-12 45 views
0
import java.io.*; 
    import jxl.*; 
    import jxl.write.*; 
    class Exc 
    { 
     public static void main(String args[]) 
     { 
     InputStream input = new FileInputStream("sample.xls"); 
     POIFSFileSystem fs = new POIFSFileSystem(input); 
     Workbook wb = WorkbookFactory.create(input); 
     Sheet sheet = wb.getSheetAt(0); 
     Row row = sheet.getRow(2); 
     Cell cell = row.getCell(10); 
     if (cell == null) 
     cell = row.createCell(10); 
     cell.setCellType(Cell.CELL_TYPE_STRING); 
     cell.setCellValue("Data"); 
     FileOutputStream fileOut = new FileOutputStream("sample.xls"); 
     wb.write(fileOut); 
     fileOut.close(); 
    } 
    } 

這是簡單的代碼,我只是替換單元格中的數據。當我執行它,我得到這個錯誤:試圖讀取使用java的Excel數據

Exc.java:13: error: cannot find symbol Workbook wb = WorkbookFactory.create(input);

是什麼錯誤呢?我已將jxl.jar文件放在正確的路徑中並執行。提前致謝。

+0

你有導入的類工作簿? – Kode 2015-02-12 05:12:32

+0

Java說它找不到Workbook類,即使您說您的jar文件位於正確的路徑中。您需要仔細檢查java爲什麼無法找到jar文件。查看該類是否存在於jar中,然後在jar文件中實例化其他類並查看是否得到相同的錯誤。如果你這樣做,你需要谷歌和了解如何將外部庫添加到Java構建路徑。 – anu 2015-02-12 05:19:50

+0

是的。在jxl.jar中它是存在的。不僅獲得工作簿。也爲Cell和Sheet獲取相同的錯誤。我已經使用java -jar jxl.jar進行了檢查!類文件存在。 – Ashwin 2015-02-12 05:29:32

回答

0

WorkbookFactory不是JExcel API類。它屬於Apache POI。

所以,與其這樣

InputStream input = new FileInputStream("sample.xls"); 
POIFSFileSystem fs = new POIFSFileSystem(input); 
Workbook wb = WorkbookFactory.create(input); 

使用JExcel API的Workbook.getWorkbook()方法

Workbook wb = Workbook.getWorkbook(new File("sample.xls")); 
+0

非常感謝您的Ravi。但是我也得到了Row,Cell和Sheet的錯誤。 – Ashwin 2015-02-12 06:27:49

+0

您的整個程序都是使用Apache POI編寫的。可以添加這些jar或使用JExcel API重寫程序。看看http://www.andykhan.com/jexcelapi/tutorial.html – 2015-02-12 06:31:31