写入现有的Excel文件

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我读了Documentation,在LabelCell类型中有一个方法setString。

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定义索引,value包含要放在该单元格中的String。

希望能帮助到你