使用java对excel文件的ap(jxl)对excel文件进行处理。
java对excel文件的读取,是不是很简单,在代码中有诠释
package exceldemo3;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import jxl.read.biff.BiffException;
public class blog_show_how_read {
public static void readWorkbook(String workBookPath,int a,int b) throws BiffException, IOException {
jxl.Workbook wb=null;//定义工作簿
InputStream in=new FileInputStream(workBookPath);//获取文件输入流
wb=jxl.Workbook.getWorkbook(in);
jxl.Sheet sheet=wb.getSheet(0);//第一张表
jxl.Cell cell=sheet.getCell(a,b);//a参数代表列,b参数代表行
String value=cell.getContents();//cell.getContents()获取的是单元格的值,返回值是类型string
System.out.print(value);
}
public static void main(String []args) throws BiffException, IOException{
readWorkbook("E:/test1.xls",0,0);
}
}
java对excel文件的创建
public static void createWorkbook(String Path, int a, int b)
throws IOException, RowsExceededException, WriteException {
jxl.write.WritableWorkbook wb = Workbook.createWorkbook(new File(Path));// 创建一个工作簿;输出路径为path,workbook.createworkbook第一个参数是文件的输出路径,
// 第二个参数是一个workbook文件当作创建excel文件的模板
jxl.write.WritableSheet rSheet = wb.createSheet("testsheet", 0);// 获取新创建的第一张表
jxl.Cell cell = rSheet.getCell(a, b);// a代表列,b代表行
if (cell.getType() == CellType.LABEL) {// 判断单元格是否是label类型
Label label = (Label) cell;
label.setString("插入字符串");
System.out.print("into if");
} else {
Label label = new Label(a, b, "插入字符串");
rSheet.addCell(label);
System.out.print("into else");
}
jxl.write.Number num = new jxl.write.Number(0,1,123.456);//写入数字
rsheet.addCell(num);
wb.write();
wb.close();
}
需要注意的是jxl-api只能针对excel2003版的(.xls)进行操作,不然会报unable to recognize ole stream的错误。
若excel版本高于2003请另存为(.xls)的excel文件在进行操作