2012-07-05 13 views
7
package jexcel.jxl.nimit; 

    import java.awt.Label; 
    import java.io.File; 
    import java.io.IOException; 

    import jxl.Cell; 
    import jxl.CellType; 
    import jxl.LabelCell; 
    import jxl.NumberCell; 
    import jxl.Sheet; 
    import jxl.Workbook; 
    import jxl.read.biff.BiffException; 
    import jxl.write.WritableCell; 
    import jxl.write.WritableSheet; 
    import jxl.write.WritableWorkbook; 
    import jxl.write.WriteException; 
    import jxl.write.biff.RowsExceededException; 

    public class ExcelJxl { 

    /** 
    * @param args 
    * @throws IOException 
    * @throws BiffException 
    * @throws WriteException 
    * @throws RowsExceededException 
    */ 
    public static void main(String[] args) throws BiffException, IOException, RowsExceededException, WriteException { 
     // TODO Auto-generated method stub 
      ExcelJxl.WriteFile("D:\nimit.xls"); 
    } 

    public static void WriteFile(String path) throws BiffException, IOException, RowsExceededException, WriteException{ 

    Workbook wb=Workbook.getWorkbook(new File(path)); 

    WritableWorkbook copy=Workbook.createWorkbook(new File("D:\temp.xls"),wb); 
    WritableSheet sheet = copy.getSheet(1); 
    WritableCell cell = sheet.getWritableCell(0,0); 
    String S="nimit"; 
    if (cell.getType() == CellType.LABEL) 
    { 
     LabelCell l = (LabelCell) cell; 
     l.setString(S); 
    } 
    copy.write(); 
    copy.close(); 
    wb.close(); 

    } 
    } 

Mam edytowane mój program, a teraz mówi, że setString() Metoda setString (String) jest niezdefiniowana dla danego typu LabelCell Czytałem dokumentację, istnieje metoda A setString w typie LabelCell.Pisanie do istniejącego pliku Excel

+2

Brak definicji metody "write" w klasie Workbook. Zobacz: http://jexcelapi.sourceforge.net/resources/javadocs/2_6_10/docs/jxl/Workbook.html – Sabbath

+1

Oto niektóre kody: http://www.vogella.com/articles/JavaExcel/article.html – Sabbath

+1

Ale ten przykład go ma. [Link] (http://www.andykhan.com/jexcelapi/tutorial.html) do pisania do pliku Excela. –

Odpowiedz

14

LabelCell jest tylko interfejs tylko jedna metoda I.E getString() można dowiedzieć się więcej na ten temat here

Należy użyć jxl.write.Label zamiast.
Co trzeba dokładnie zrobić to w następujący sposób
powinny importować następujący plik

import jxl.write.Label 

Następnie Poniżej znajduje się kod do dodawania komórkę w żądanym miejscu do pliku Excel

Workbook existingWorkbook = Workbook.getWorkbook(new File(fileToEdit.getAbsolutePath())); 
WritableWorkbook workbookCopy = Workbook.createWorkbook(new File("output.xls"), existingWorkbook); 
WritableSheet sheetToEdit = workbookCopy.getSheet(sheetName); 
WritableCell cell; 
Label l = new Label(currentColumn, currentRow, value); 
cell = (WritableCell) l; 
sheetToEdit.addCell(cell); 
workbookCopy.write(); 
workbookCopy.close(); 
existingWorkbook.close(); 

currentColumn i currentRow zdefiniuj indeks, a wartość zawiera ciąg do umieszczenia w tej komórce.

Mam nadzieję, że pomaga

+0

Pracowałem dla mnie (Y) –

Powiązane problemy