如何对已有的excel文件,同时进行读写操作。有一个excel的文件,要读取该workbook中指定sheet中的信息,并修改该sheet中某些单元格的值。
我写的代码,总是报这个错误 java.lang.ClassCastException: jxl.write.Blank
at dsic.TPB.main(TPB.java:271)
String realpath = "d:/test.xls";
try{
Workbook wb = Workbook.getWorkbook(new File(realpath));
//第二步:通过模板得到一个可写的Workbook:第一个参数是一个输出流对象,第二个参数代表了要读取的模板
ByteArrayOutputStream targetFile = new ByteArrayOutputStream();
WritableWorkbook wwb = Workbook.createWorkbook(targetFile, wb);
//第三步:选择模板中名称为StateResult的Sheet:
WritableSheet wws = wwb.getSheet(0);
System.out.println(wws.getCell(1, 1).getContents());
Label A1 = (Label)wws.getWritableCell(2,2);
A1.setString("单元格内容");
Number A2 = (Number)wws.getWritableCell(1,1);//Number是jxl.write.Number
A2.setValue(3.3); wwb.close();
wb.close();
}catch(Exception e){
e.printStackTrace();
}
我写的代码,总是报这个错误 java.lang.ClassCastException: jxl.write.Blank
at dsic.TPB.main(TPB.java:271)
String realpath = "d:/test.xls";
try{
Workbook wb = Workbook.getWorkbook(new File(realpath));
//第二步:通过模板得到一个可写的Workbook:第一个参数是一个输出流对象,第二个参数代表了要读取的模板
ByteArrayOutputStream targetFile = new ByteArrayOutputStream();
WritableWorkbook wwb = Workbook.createWorkbook(targetFile, wb);
//第三步:选择模板中名称为StateResult的Sheet:
WritableSheet wws = wwb.getSheet(0);
System.out.println(wws.getCell(1, 1).getContents());
Label A1 = (Label)wws.getWritableCell(2,2);
A1.setString("单元格内容");
Number A2 = (Number)wws.getWritableCell(1,1);//Number是jxl.write.Number
A2.setValue(3.3); wwb.close();
wb.close();
}catch(Exception e){
e.printStackTrace();
}
Label A1 = (Label)wws.getWritableCell(2,2);
A1.setString("单元格内容");
总是报这个错误 java.lang.ClassCastException: jxl.write.Blank
//选择模板文件:
String realpath = "d:/test.xls";
try{
Workbook wb = Workbook.getWorkbook(new File(realpath));
//第二步:通过模板得到一个可写的Workbook:第一个参数是一个输出流对象,第二个参数代表了要读取的模板
File targetFile = new File("d:/test.xls");
WritableWorkbook wwb = Workbook.createWorkbook(targetFile, wb);
WritableSheet wws = wwb.getSheet(0);
System.out.println(wws.getCell(1, 1).getContents());
//如果需要也可以创建Sheet
//WritableSheet wws = wwb.createSheet("Sheet名称",1);
WritableCell wc = wws.getWritableCell(0, 0);
if(wc.getType() == CellType.LABEL)
{
l l = (Label)wc;
l.setString("Modified.");
}
wwb.write();
wwb.close();
wb.close();
}catch(Exception e){
e.printStackTrace();
}
}
我前段时间做过这个