由于需要使用JXL,今天特总结如下。
一、实现Excle的导入
public class ExcelImport { public static void main(String[] args) { try { Workbook book = Workbook.getWorkbook(new File("d:/测试.xls")); // 获得第一个工作表对象 Sheet sheet = book.getSheet(0); // 得到列数 int columnum = sheet.getColumns(); // 得到行数 int rownum = sheet.getRows(); System.out.println(columnum); System.out.println(rownum); // 循环进行读写 for(int i = 0 ; i < rownum; i++) { for(int j = 0 ; j < columnum; j++) { Cell cell1 = sheet.getCell(j, i); String result = cell1.getContents(); System.out.print(result); System.out.print( " \t " ); } System.out.println(); } book.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }二、实现简单的Excle导出
public class ExcelExport { public static void main(String[] args) { try { //创建文件 WritableWorkbook book = Workbook.createWorkbook(new File("d:/测试excel.xls")); //创建第一个表格,命名为"第一章",此处0表示第一个表格 WritableSheet sheet = book.createSheet("第一章", 0); //创建第一行,第一列,表格内的内容为"测试数据" Label label = new Label(0, 0, "测试数据"); //将这个单元格加入到第一张表格中 sheet.addCell(label); //创建第二行,第一列,表格中为数字(数字模式最好使用Number类型的单元格) Number number = new Number(1, 0, 789.123); //将单元格加入到第一章表格中 sheet.addCell(number); //将所有的数据写入目标Excel中 book.write(); //关闭资源 book.close(); } catch (Exception e) { e.printStackTrace(); } } }
public class ExcleExport2 { public static void main(String[] args) { try { //创建一个Excle文件 WritableWorkbook book = Workbook.createWorkbook(new File("d:/测试.xls")); //创建第一个Sheet WritableSheet ws = book.createSheet("First", 0); //设置字体容器(参数属性) //第一个:字体 ,WritableFont.TIMES //第二个:大小,18 //第三个: 是否为粗体,WritableFont.BOLD 或WritableFont.NO_BOLD //第四个: 判断是否为斜体,选择true时为斜体 //第五个: 样式,UnderlineStyle.NO_UNDERLINE 没有下划线 //第六个: 颜色,jxl.format.Colour.RED 字体颜色是红色的 WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES, 18, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.RED); //创建格式化对象实例 //可以传递字体参数或者不传递 WritableCellFormat format = new WritableCellFormat(wf); //垂直居中 format.setVerticalAlignment(VerticalAlignment.CENTRE); //水平居中 format.setAlignment(Alignment.CENTRE); //单元格背景颜色 format.setBackground(Colour.YELLOW); //设置单元格边框 format.setBorder(Border.TOP, BorderLineStyle.THIN); format.setBorder(Border.BOTTOM, BorderLineStyle.THIN); format.setBorder(Border.LEFT, BorderLineStyle.THIN); format.setBorder(Border.RIGHT, BorderLineStyle.THIN); //设置第一列的宽度 ws.setColumnView(0, 15); //设置第二列的宽度 ws.setColumnView(1, 40); //设置前三行高度(此处设置高度的单位与设置列的单位是不同的) ws.setRowView(0, 350); ws.setRowView(1, 350); ws.setRowView(2, 350); //合并单元格(合并第一行第一列,第一行第二列,第二行第一列,第二行第二列) ws.mergeCells(0, 0, 1, 1); //创建一个单元格 Label label = new Label(0, 0, "第一行标题", format); ws.addCell(label); //设置列标题 Label colums1 = new Label(0,2,"编号"); ws.addCell(colums1); Label colums2 = new Label(1,2,"名称"); ws.addCell(colums2); for(int i = 3 ; i<13 ;i++){ Label colums_1 = new Label(0,i,"编号"+i); Label colums_2 = new Label(1,i,"测试"+i); ws.addCell(colums_1); ws.addCell(colums_2); } //设置数据有效性 WritableCellFeatures format2 = new WritableCellFeatures (); List<String> angerlist = new ArrayList<String>(); angerlist.add("是"); angerlist.add("否"); format2.setDataValidationList(angerlist); //具有数据有效性的单元格 Label validateLabel = new Label(2, 3, " ", format); validateLabel.setCellFeatures(format2); ws.addCell(validateLabel); book.write(); book.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }