java 操作 Excel

来源:互联网 发布:vs2010怎么写c语言 编辑:程序博客网 时间:2024/04/29 23:16

java 操作 Excel


生成Excel

        一、准备jar包。Java操作 Excel 需要 jxl.jar 包。

        二、定义生成的Excel文件名。

        如: fileName = "员工信息_" + System.currentTimeMillis()+ ".xls";

        三、定义一个数组存放excel文件的标题。

        如:String[] title = { 序号,姓名,性别,年龄,账号,入职时间,};

        四、准备好要显示的数据(来源于数据库)。

        如:List<User> use;

        五、通过存放的路径,判断下载的文件是否存在,存在就删除。(因为fileName 利用System.currentTimeMillis,所以是会重名的。)

        File file = new File("要存放文件的路径。。。。。。");
        if (file.exists()) {
                file.delete();
        }

        六、利用Workbook创建Excel对象

        FileInputStream fos = new FileOutputStream("要存放文件的路径。。。。。。");

        wwb = Workbook.createWorkbook(fos);

        七、给sheet命名。

        //创建一个工作表, 生成名为"员工信息"的工作表,参数0表示这是第一页

        如:WritableSheet ws = wwb.createSheet("员工信息", 0);

        九、设置单元格的文字格式

        WritableFont wf = new WritableFont(WritableFont.ARIAL, 10,WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE,Colour.BLACK);WritableCellFormat wcf = new WritableCellFormat(wf);wcf.setVerticalAlignment(VerticalAlignment.CENTRE);wcf.setAlignment(Alignment.CENTRE);wcf.setWrap(true);

        八、 设置表头格式

    WritableFont wftitile = new WritableFont(WritableFont.ARIAL, 16,WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,Colour.BLACK);    WritableCellFormat titlewcf = new WritableCellFormat(wftitile);    titlewcf.setVerticalAlignment(VerticalAlignment.CENTRE);    titlewcf.setAlignment(Alignment.CENTRE);    titlewcf.setWrap(true);

        如果不需要设置第八、九步,可以省略

        十、设置标题excel文件的标题。

               for (int ii = 0; ii < title.length; ii++) {// 列、行(0代表第一行)、单元格中的文本、文本格式Label wlabel1 = new Label(ii, 0, title[ii], titlewcf);// 设置Excel列宽if (ii == 3 || ii == 7 || ii == 9 || ii == 11) {ws.setColumnView(ii, 20);} else if (ii == 5) {ws.setColumnView(ii, 40);} else {ws.setColumnView(ii, 15);}ws.addCell(wlabel1);}

         十一、 写入数据到Excel

      for (int i = 0; i < list.size(); i++) {User user = new User();user = useList.get(i);//ws.setRowView(i + 1, 400);//ws.addCell(new Label(0, (i + 1), String.valueOf( user.getOrder()), wcf));ws.addCell(new Label(1, (i + 1), user.getName(), wcf));ws.addCell(new Label(2, (i + 1), user.getSex(), wcf));ws.addCell(new Label(3, (i + 1), user.getAge(), wcf));ws.addCell(new Label(4, (i + 1), user.getAccountNumber(), wcf));ws.addCell(new Label(5, (i + 1), user.getRuZhiTime(), wcf));}

十二、关闭流



代码后续。。。


       


0 0