向已存在的Excel文件写入数据

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() “The method setString(String) is undefined for the type LabelCell”。 我阅读了文档,LabelCell类型中有一个setString方法。


2
Workbook类中没有write方法的定义。请查看:http://jexcelapi.sourceforge.net/resources/javadocs/2_6_10/docs/jxl/Workbook.html。 - Sabbath
1
这里有一些代码:http://www.vogella.com/articles/JavaExcel/article.html - Sabbath
1
但是这个例子有它。链接 用于将数据写入Excel文件。 - Nimit_ZZ
你正在使用Workbook实例wk调用write()方法,而示例中使用的是WritableWorkbook实例... - Sabbath
也许你应该更仔细地阅读文档或网页... - Sabbath
显示剩余3条评论
1个回答

15

LabelCell只是一个具有一个方法(即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();

currentColumncurrentRow定义了包含要放置在单元格中的字符串的索引和值。

希望它能有所帮助。


对我有用 (Y) - Shiva Krishna Chippa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接