2012-07-05 9 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(); 

    } 
    } 

Ich habe mein Programm bearbeitet, und jetzt heißt es, dass setString() Verfahren setString (String) für den Typen nicht definiert ist LabelCell ich die Dokumentation zu lesen, gibt es ein Verfahren setString im LabelCell-Typ.Schreiben zu einem vorhandenen Excel-Datei

+2

Es gibt keine Definition der Methode "schreiben" in der Arbeitsmappe Klasse. Watch this: http://jexcelapi.sourceforge.net/resources/javadocs/2_6_10/docs/jxl/Workbook.html – Sabbath

+1

Hier sind einige Codes: http://www.vogella.com/articles/JavaExcel/article.html – Sabbath

+1

Aber dieses Beispiel hat es. [Link] (http://www.andykhan.com/jexcelapi/tutorial.html) zum Schreiben in eine Excel-Datei. –

Antwort

14

LabelCell ist nur eine Schnittstelle mit nur einer Methode d.h getString() Sie mehr erfahren können über sie here

Sie jxl.write.Label stattdessen verwenden sollten.
Was sollten Sie genau das tun, wie folgt
Sie sollten für das Hinzufügen einer Zelle am gewünschten Ort zu einer Excel-Datei

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 und die folgende Datei

import jxl.write.Label 

Dann finden Sie den Code importieren currentRow Definieren Sie den Index und Wert enthält die Zeichenfolge, die in dieser Zelle platziert werden soll.

Hoffe, es hilft

+0

Arbeitete für mich (Y) –

Verwandte Themen