2013-01-12 84 views
-2

我一直在用Java編寫文本文件。但是現在我想知道如何讀取和修改Excel文件。閱讀部分似乎很容易與JExcel API,但我堅持修改Excel文件。任何其他方法也歡迎!使用java處理Excel文件

+2

你的問題到底是什麼? – Max

+0

其實我想知道如何修改現有的excel文件.. – user1971760

回答

0

JExcel旨在提高讀取效率(因爲這是API的主要用途)。爲了提高性能,在讀取電子表格時,不會解釋與輸出信息有關的數據(例如所有格式化信息,如字體),因爲在查詢原始數據值時這是多餘的。

但是,如果我們需要修改此電子表格,則需要使用複製方法獲取各種寫入接口的句柄。

該示例可用here。參照相同。寫作Excel中使用Jexcel

+0

我已經下載了jxl.jar ..但是它給出了一些錯誤.. 無法找到符號cell.setFormat(cellFormat); 符號:方法setFormat(WritableCellFormat) 位置:可變單元的類型WritableCell 數字是抽象的;不能實例化 Number number = new Number(3,4,3.1459); 錯誤:接口WritableSheet中的addCell方法不能應用於給定的類型; sheet2。addCell(數); 要求:WritableCell 發現:數 原因:實際參數號不能被方法調用轉換 3個錯誤 – user1971760

2

示例代碼

public void write() throws IOException, WriteException { 
    File file = new File(inputFile); 
    WorkbookSettings wbSettings = new WorkbookSettings(); 

    wbSettings.setLocale(new Locale("en", "EN")); 

    WritableWorkbook workbook = Workbook.createWorkbook(file, wbSettings); 
    workbook.createSheet("Report", 0); 
    WritableSheet excelSheet = workbook.getSheet(0); 
    createLabel(excelSheet); 
    createContent(excelSheet); 

    workbook.write(); 
    workbook.close(); 
} 

爲同時在讀取完整的代碼,寫的excel看到here。它是您的要求非常啓動的例子。並希望在這方面存在很多例子。請不要在谷歌進一步...快樂編碼... :)

更新時間:

爲了得到現有的Excel表取代三行新的工作表與下面的代碼:(離開上面的代碼按原樣以供參考。)

Workbook existingWorkbook = Workbook.getWorkbook(new File(fileToEdit.getAbsolutePath())); 
WritableWorkbook workbookCopy = Workbook.createWorkbook(new File("output.xls"), existingWorkbook); 
WritableSheet sheetToEdit = workbookCopy.getSheet(sheetName); 

請注意,這段代碼僅供參考,未經過編譯和測試。提供您所要求的更多信息.... :)

+0

其實我想知道如何修改現有的Excel文件轉換爲WritableCell .. – user1971760

+0

邏輯將相同規定編輯示例。但是,通過excelsheet時會發生小的變化..即不是創建新的工作簿,而是創建現有的工作簿。其餘全部保持不變.. – NamingException

+0

好的...爲了清晰起見,我將編輯一些代碼,但未經過測試.. 。 – NamingException