DreamH

excel
自己整理了一个JXL操作Excel的源码:

public static void  outExcel()     {                       //创建可写的Excel 工作簿             WritableWorkbook wb;             try {                 wb = Workbook.createWorkbook(new File("d:/test/借款单.xls"));                 //创建 Excel 工作表                 WritableSheet ws = wb.createSheet("借款通知单", 0);                                //设置 行、 列的 宽度 、高度                 ws.setColumnView(0, 10); // 设置列的宽度                 ws.setColumnView(1, 20); // 设置列的宽度                 ws.setColumnView(2, 20); // 设置列的宽度                 ws.setColumnView(3, 20); // 设置列的宽度                 ws.setColumnView(4,20); // 设置列的宽度                 ws.setColumnView(5, 20); // 设置列的宽度                 ws.setColumnView(6, 20); // 设置列的宽度                 ws.setColumnView(7,20); // 设置列的宽度                                ws.setRowView(0, 500); // 设置行的高度                 ws.setRowView(1, 200); // 设置行的高度                 ws.setRowView(2, 300); // 设置行的高度                 ws.setRowView(3, 400); // 设置行的高度                 ws.setRowView(4, 300); // 设置行的高度                 ws.setRowView(5, 300); // 设置行的高度                 ws.setRowView(6, 300); // 设置行的高度                                //让 第一列居中                 WritableFont wtf = new WritableFont(WritableFont.createFont("宋体"),20,WritableFont.BOLD,false);                 WritableCellFormat wcfmt = new WritableCellFormat(wtf);                 wcfmt.setAlignment(jxl.format.Alignment.CENTRE);                 //添加 Lable对象  (列、行)                 Label lable1 = new Label(0,0,"财政借款通知单",wcfmt);                 ws.addCell(lable1);                                //合并单元格(列、行)                 ws.mergeCells(0, 0, 7, 0);                                //添加带有字型的Formatting的对象                 WritableFont wf = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE);                 WritableCellFormat wcft = new WritableCellFormat(wf);                        Label lableCF = new Label(0,2,"科室名称:",wcft);                 ws.addCell(lableCF);                                //合并单元格(列、行)                 ws.mergeCells(0, 2, 1, 2);                                //添加 带有字体颜色的Formatting对象 WritableFont wfc = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE);                 WritableCellFormat wcfFC = new WritableCellFormat(wfc);                                //行 、 列                 Label labelCFC = new Label(4,2,"日期:",wcfFC);                 ws.addCell(labelCFC);               
                //添加 带有字体颜色的Formatting对象 WritableFont wfc2 = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE);                 WritableCellFormat wcffc2 = new WritableCellFormat(wfc2);                                //行 、 列                 Label labelCFC2 = new Label(6,2,"单据编号:",wcffc2);                 ws.addCell(labelCFC2);                                //合并单元格(列、行)                 ws.mergeCells(6, 2, 7, 2);                                                                             //表头 :标题              居中  12 宋体                                //序号                                               WritableFont wtf1 = new WritableFont(WritableFont.createFont("宋体"),12,WritableFont.BOLD,false);                 WritableCellFormat wcfmt1 = new WritableCellFormat(wtf1);                 wcfmt1.setAlignment(jxl.format.Alignment.CENTRE);                                //添加 Lable对象  (列、行)                 Label lable11 = new Label(0,3,"序号",wcfmt1);                 ws.addCell(lable11);                                               //单位名称                                               WritableFont wtf2 = new WritableFont(WritableFont.createFont("宋体"),12,WritableFont.BOLD,false);                 WritableCellFormat wcfmt2 = new WritableCellFormat(wtf2);                 wcfmt2.setAlignment(jxl.format.Alignment.CENTRE);                                //添加 Lable对象  (列、行)                 Label lable12 = new Label(1,3,"单位名称",wcfmt2);                 ws.addCell(lable12);                                //摘要                                               WritableFont wtf3 = new WritableFont(WritableFont.createFont("宋体"),12,WritableFont.BOLD,false);                 WritableCellFormat wcfmt3 = new WritableCellFormat(wtf3);                 wcfmt3.setAlignment(jxl.format.Alignment.CENTRE);                                //添加 Lable对象  (列、行)                 Label lable13 = new Label(2,3,"摘要",wcfmt3);                 ws.addCell(lable13);                                //金额                                               WritableFont wtf4 = new WritableFont(WritableFont.createFont("宋体"),12,WritableFont.BOLD,false);                 WritableCellFormat wcfmt4 = new WritableCellFormat(wtf4);                 wcfmt4.setAlignment(jxl.format.Alignment.CENTRE);                                //添加 Lable对象  (列、行)                 Label lable14 = new Label(3,3,"金额",wcfmt4);                 ws.addCell(lable14);                                //收款单位名称                                               WritableFont wtf5 = new WritableFont(WritableFont.createFont("宋体"),12,WritableFont.BOLD,false);                 WritableCellFormat wcfmt5 = new WritableCellFormat(wtf5);                 wcfmt5.setAlignment(jxl.format.Alignment.CENTRE);                                //添加 Lable对象  (列、行)                 Label lable15 = new Label(4,3,"收款单位名称",wcfmt5);                 ws.addCell(lable15);                                //收款银行                                               WritableFont wtf6 = new WritableFont(WritableFont.createFont("宋体"),12,WritableFont.BOLD,false);                 WritableCellFormat wcfmt6 = new WritableCellFormat(wtf6);                 wcfmt6.setAlignment(jxl.format.Alignment.CENTRE);                                //添加 Lable对象  (列、行)                 Label lable16 = new Label(5,3,"收款银行",wcfmt6);                 ws.addCell(lable16);               
                //收款账号                                               WritableFont wtf7 = new WritableFont(WritableFont.createFont("宋体"),12,WritableFont.BOLD,false);                 WritableCellFormat wcfmt7 = new WritableCellFormat(wtf7);                 wcfmt7.setAlignment(jxl.format.Alignment.CENTRE);                                //添加 Lable对象  (列、行)                 Label lable17 = new Label(6,3,"收款账号",wcfmt7);                 ws.addCell(lable17);                                //资金性质                                               WritableFont wtf8 = new WritableFont(WritableFont.createFont("宋体"),12,WritableFont.BOLD,false);                 WritableCellFormat wcfmt8 = new WritableCellFormat(wtf8);                 wcfmt8.setAlignment(jxl.format.Alignment.CENTRE);                                //添加 Lable对象  (列、行)                 Label lable18 = new Label(7,3,"资金性质",wcfmt8);                 ws.addCell(lable18);                                               //添加  借款信息 数据                                //序号                 WritableFont wfe = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE);                 WritableCellFormat wcfte = new WritableCellFormat(wfe);                 wcfte.setAlignment(jxl.format.Alignment.CENTRE);                 jxl.write.Number labelN = new jxl.write.Number(0,4,1,wcfte);                 ws.addCell(labelN);                                //单位名称                                WritableFont wft = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE);                 WritableCellFormat wcf = new WritableCellFormat(wft);                        Label lable = new Label(1,4,"天津联津投资有限公司",wcf);                 ws.addCell(lable);                                //摘要                                WritableFont wft1 = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE);                 WritableCellFormat wcf1 = new WritableCellFormat(wft1);                        Label lab = new Label(2,4,"2010年6月30日借款",wcf1);                 ws.addCell(lab);                                               //金额                                //收款单位                                WritableFont wft2 = new WritableFont(WritableFont.ARIAL,9,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE);                 WritableCellFormat wcf2 = new WritableCellFormat(wft2);                        Label lab1 = new Label(4,4,"天津联津投资有限公司",wcf2);                 ws.addCell(lab1);                                //收款银行                                WritableFont wft3 = new WritableFont(WritableFont.ARIAL,9,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE);                 WritableCellFormat wcf3 = new WritableCellFormat(wft3);                        Label lab2= new Label(5,4,"上海浦东发展银行天津分行浦惠支行",wcf3);                 ws.addCell(lab2);                                //收款账号                                WritableFont wft4 = new WritableFont(WritableFont.ARIAL,9,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE);                 WritableCellFormat wcf4 = new WritableCellFormat(wft4);                        Label lab3= new Label(6,4,"77050154800000213",wcf4);                 ws.addCell(lab3);                                //资金性质                                WritableFont wft5 = new WritableFont(WritableFont.ARIAL,9,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE);                 WritableCellFormat wcf5 = new WritableCellFormat(wft5);                 wcf5.setAlignment(jxl.format.Alignment.CENTRE);                 Label lab4= new Label(7,4,"往来资金",wcf5);                 ws.addCell(lab4);                                               //合计                                WritableFont wft6 = new WritableFont(WritableFont.ARIAL,9,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE);                 WritableCellFormat wcf6 = new WritableCellFormat(wft6);                 wcf6.setAlignment(jxl.format.Alignment.CENTRE);                 Label lab5= new Label(0,6,"合计",wcf6);                 ws.addCell(lab5);                                ws.mergeCells(0, 6, 1, 6);                                               //合计金额                                                              //制单人                                WritableFont wft7= new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE);                 WritableCellFormat wcf7 = new WritableCellFormat(wft7);                 wcf7.setAlignment(jxl.format.Alignment.LEFT);                 Label lab6= new Label(1,8,"制单人:",wcf7);                 ws.addCell(lab6);                                //科室负责人                                WritableFont wft8= new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE);                 WritableCellFormat wcf8 = new WritableCellFormat(wft8);                 wcf8.setAlignment(jxl.format.Alignment.RIGHT);                 Label lab7= new Label(2,8,"科室负责人:",wcf8);                 ws.addCell(lab7);                                //分管局长                                WritableFont wft9= new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE);                 WritableCellFormat wcf9 = new WritableCellFormat(wft9);                 wcf9.setAlignment(jxl.format.Alignment.RIGHT);                 Label lab8= new Label(4,8,"分管局长:",wcf9);                 ws.addCell(lab8);                                //局长                                WritableFont wft10= new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE);                 WritableCellFormat wcf10 = new WritableCellFormat(wft10);                 wcf10.setAlignment(jxl.format.Alignment.LEFT);                 Label lab9= new Label(6,8,"局长:",wcf10);                 ws.addCell(lab9);               
                wb.write();//写入Excel工作表                                wb.close();    //关闭Excel工作簿对象                            } catch (IOException e) {                                // TODO Auto-generated catch block                 e.printStackTrace();                                   } catch (RowsExceededException e) {                                   e.printStackTrace();                               } catch (WriteException e) {                                    e.printStackTrace();                                }                       }
 
 
 
 
jxl 读取 要求excel2003
 
// Java Excel API既可以从本地文件系统的一个文件(.xls),         // 也可以从输入流中读取Excel数据表。
        // 构建Workbook对象, 只读Workbook对象         // 直接从本地文件创建Workbook         // 从输入流创建Workbook         InputStream is;         try {             is = new FileInputStream("F:\\DomXml.xls");
            jxl.Workbook rwb = Workbook.getWorkbook(is);//得到工作薄
            // 获取第一张Sheet表-实例化sheet             Sheet rs = rwb.getSheet(0);
            // 一旦创建了Workbook,我们就可以通过它来访问Excel Sheet
            // 一旦得到了Sheet,我们就可以通过它来访问Excel Cell
            // 注意,getCell()方法的值,第一个参数的值是行的值
            // 获取第一列第一行,的值             Cell c00 = rs.getCell(0, 0);             String strc00 = c00.getContents();             // 获取,第二列第一行的值             Cell c10 = rs.getCell(1, 0);             String strc10 = c10.getContents();             // 获取,第二列第二行的值             Cell c11 = rs.getCell(1, 1);             String strc11 = c11.getContents();             System.out.println("Cell(0, 0)" + " value : " + strc00                     + "; type : " + c00.getType());             System.out.println("Cell(1, 0)" + " value : " + strc10                     + "; type : " + c10.getType());             System.out.println("Cell(1, 1)" + " value : " + strc11                     + "; type : " + c11.getType());
        } catch (FileNotFoundException e) {             // TODO Auto-generated catch block             e.printStackTrace();         } catch (BiffException e) {             // TODO Auto-generated catch block             e.printStackTrace();         } catch (IOException e) {             // TODO Auto-generated catch block             e.printStackTrace();         }     }
 
 
 
 
 

posted on 2011-12-12 20:05  DreamH  阅读(436)  评论(0)    收藏  举报