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
答案 0 :(得分:15)
LabelCell只是一个只有一种方法的界面,getString()
您可以了解更多相关信息here
您应该使用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
定义索引,值包含要放在该单元格中的String。
希望有所帮助