Netjava MyLesson 用java对Excel的读取与写入
// 首先我们来学习excel的写入// 首先创建一个可写入的excel文件WritableWorkbook wwb = Workbook.createWorkbook(new File("src/excel/test.xls"));// 创建一个工作表,名为test,在第一个位置WritableSheet sheet = wwb.createSheet("test", 0);// 合并单元格,位置从0,0到6,0sheet.mergeCells(0, 0, 6, 0);// 设置工作表中第0列的宽度(单位不详)sheet.setColumnView(0, 30);// 设置工作表中第0行的高度(单位不详)sheet.setRowView(0, 500);// 设置横向打印sheet.setPageSetup(PageOrientation.LANDSCAPE, PaperSize.A4, 0.5d, 0.5d);// 设置缩放比例为90%sheet.getSettings().setScaleFactor(90);// 创建一个自定义字体格式,字体为宋体,字号为20,线条为加粗,有单下划线,红色字体WritableFont wf = new WritableFont(WritableFont.createFont("宋体"), 12,WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE,Colour.RED);// 创建一个自定义单元格式,运用上述字体WritableCellFormat wcf = new WritableCellFormat(wf);// 设置单元格式左右居中wcf.setAlignment(Alignment.CENTRE);// 设置单元格式垂直居中wcf.setVerticalAlignment(VerticalAlignment.CENTRE);// 设置单元格周围有边框wcf.setBorder(Border.ALL, BorderLineStyle.THIN);// 创建一个文本标签,前两项为其坐标,第三项为其内容,最后为其单元格式Label la = new Label(0, 0, "第一个例子", wcf);// 将这个标签添加到工作表中sheet.addCell(la);// 下面我们来写入数字标签,首先我们自定义一个数字格式// 我们这里保存的是两位小数点的数字格式,具体的可以进入excel,右键单元格-设置单元格格式-自定义中去查找NumberFormat nf = new NumberFormat("#,##0.00");// 和标签一样我们来创建一个自定义单元格式WritableCellFormat nwcf = new WritableCellFormat(nf);// 设置单元格式nwcf.setAlignment(Alignment.RIGHT);nwcf.setVerticalAlignment(VerticalAlignment.CENTRE);// 创建一个数字标签,注意这里调用Number类时必须要用全程jxl.write.Number num = new jxl.write.Number(0, 1, 123, nwcf);// 将这个标签添加到工作表中sheet.addCell(num);// 将excel文件写入wwb.write();// 关闭excel文件输入(不关闭无法形成xls文件!)wwb.close();
?生成文件如图:
?
// 下面我们来学习excel的读取,相对与写入较为简单// 首先创建一个文件对象Workbook wb = Workbook.getWorkbook(new File("src/excel/test.xls"));// 创建工作表对象Sheet sheet = wb.getSheet(0);// 读取第一个单元格的内容,并打印出来System.out.println(sheet.getCell(0, 0).getContents());// 我们也可以读取工作表数组Sheet[] sheets = wb.getSheets();// 打印每一个工作表的第一个单元格内容for (Sheet sh : sheets) {System.out.println(sh.getCell(0, 0).getContents());}// 关闭文件读入wb.close();
?