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();

    }
   }

プログラムを編集しましたが、setString()メソッドsetString(String)がタイプLabelCellに対して未定義であると表示されます。ドキュメントを読みましたが、LabelCellタイプにメソッドsetStringがあります。

4

1 に答える 1

15

LabelCellは、メソッドが1つしかないインターフェースです。つまり、ここでgetString()詳細を確認できます。

jxl.write.Label代わりに使用する必要があります。
正確に行うべきことは次のとおり
です。次のファイルをインポートする必要があります

import jxl.write.Label

次に、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インデックスをcurrentRow定義し、値にはそのセルに配置される文字列が含まれます。

それが役に立てば幸い

于 2012-09-19T05:15:24.280 に答える