翱翔的Eagle

          —— 世界上沒有垃圾,只有放錯(cuò)了地方的財(cái)寶!

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            3 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks
          package ?org.eagle.jexcel;

          import ?jxl. * ;
          import ?jxl.format.UnderlineStyle;
          import ?jxl.write. * ;
          import ?jxl.write.Number;
          import ?jxl.write.Boolean;
          import ?java.io. * ;

          /**
          ?*?
          ?*?<p>
          ?*?Title:
          ?*?</p>
          ?*?
          ?*?<p>
          ?*?Description:
          ?*?</p>
          ?*?
          ?*?<p>
          ?*?Copyright:?Copyright?(c)?2006
          ?*?</p>
          ?*?
          ?*?<p>
          ?*?Company:
          ?*?</p>
          ?*?
          ?*?
          @author ?eagle
          ?*?
          @version ?1.0
          ?
          */
          public ? class ?JexcelHandle?{
          ????
          public ?JexcelHandle()?{
          ????}

          ????
          public ? static ? void ?writeExcel(OutputStream?os)?{
          ????????
          try ?{
          ????????????WritableWorkbook?wwb?
          = ?Workbook.createWorkbook(os);
          ????????????
          // ?創(chuàng)建excel工作表?鎮(zhèn)定名稱和位置
          ????????????WritableSheet?ws? = ?wwb.createSheet( " card?sheet? " ,? 0 );
          ????????????
          // ?1.添加Label對(duì)象
          ????????????Label?label? = ? new ?Label( 0 ,? 0 ,? " 編號(hào) " );
          ????????????ws.addCell(label);
          ????????????Label?label2?
          = ? new ?Label( 1 ,? 0 ,? " 沖值卡號(hào) " );
          ????????????ws.addCell(label2);
          ????????????Label?label3?
          = ? new ?Label( 2 ,? 0 ,? " 沖值卡密碼 " );
          ????????????ws.addCell(label3);
          ????????????Label?label4?
          = ? new ?Label( 3 ,? 0 ,? " 最晚沖值時(shí)間 " );
          ????????????ws.addCell(label4);
          ????????????Label?label5?
          = ? new ?Label( 4 ,? 0 ,? " 沖值的面值(TC)(1RMB=100TC) " );
          ????????????ws.addCell(label5);
          ????????????Label?label6?
          = ? new ?Label( 5 ,? 0 ,? " 是否作廢 " );
          ????????????ws.addCell(label6);

          ????????????Number?labelN?
          = ? new ?Number( 0 ,? 1 ,? 3.1415926 );
          ????????????ws.addCell(labelN);
          ????????????
          // 通過?記錄集的方式可以得到數(shù)據(jù)庫中的相關(guān)的記錄
          ????????????
          // ?WritableFont?wf?=?new?WritableFont(WritableFont.TIMES,?18,
          ????????????
          // ?WritableFont.BOLD,?true);
          ????????????
          // ?WritableCellFormat?wcf?=?new?WritableCellFormat(wf);
          ????????????
          // ?Label?labelcf?=?new?Label(1,?0,?"this?is?a?label?test",?wcf);
          ????????????
          // ?ws.addCell(labelcf);
          ????????????
          // ? // 2.添加Number對(duì)象
          ????????????
          // ?Number?labelN?=?new?Number(0,1,3.1415926);
          ????????????
          // ?ws.addCell(labelN);
          ????????????
          //
          ????????????
          // ? // 添加帶有formatting的Number對(duì)象
          ????????????
          // ?NumberFormat?nf?=?new?NumberFormat("#.##");
          ????????????
          // ?WritableCellFormat?wcfN?=?new?WritableCellFormat(nf);
          ????????????
          // ?Number?labelNF?=?new?jxl.write.Number(1,1,3.1415926,wcfN);
          ????????????
          // ?ws.addCell(labelNF);
          ????????????
          //
          ????????????
          // ? // 3.添加Boolean對(duì)象
          ????????????
          // ?Boolean?labelB?=?new?jxl.write.Boolean(0,2,false);
          ????????????
          // ?ws.addCell(labelB);
          ????????????
          //
          ????????????
          // ? // 4.添加DateTime對(duì)象
          ????????????
          // ?jxl.write.DateTime?labelDT?=?new?jxl.write.DateTime(0,3,new
          ????????????
          // ?java.util.Date());
          ????????????
          // ?ws.addCell(labelDT);
          ????????????
          //
          ????????????
          // ? // 添加帶有formatting的DateFormat對(duì)象
          ????????????
          // ?DateFormat?df?=?new?DateFormat("dd?MM?yyyy?hh:mm:ss");
          ????????????
          // ?WritableCellFormat?wcfDF?=?new?WritableCellFormat(df);
          ????????????
          // ?DateTime?labelDTF?=?new?DateTime(1,3,new?java.util.Date(),wcfDF);
          ????????????
          // ?ws.addCell(labelDTF);
          ????????????
          //
          ????????????
          // ? // 添加圖片對(duì)象,jxl只支持png格式圖片
          ????????????
          // ?File?image?=?new?File("f:\\x.png");
          ????????????
          // ?WritableImage?wimage?=?new
          ????????????
          // ?WritableImage(0,1,2,2,image); // 0,1分別代表x,y.2,2代表寬和高占的單元格數(shù)
          ????????????
          // ?ws.addImage(wimage);
          ????????????
          // ?寫入工作表
          ????????????wwb.write();
          ????????????wwb.close();
          ????????}?
          catch ?(Exception?e)?{
          ????????????System.out.println(
          "" ? + ?e);
          ????????}

          ????}



          ????
          public ? static ? void ?modifyExcel(File?file1,?File?file2)?{
          ????????
          try ?{
          ????????????
          // ?先copy?在操作第二個(gè)文件修改,
          ????????????Workbook?rwb? = ?Workbook.getWorkbook(file1);
          ????????????WritableWorkbook?wwb?
          = ?Workbook.createWorkbook(file2,?rwb); // ?copy
          ????????????WritableSheet?ws? = ?wwb.getSheet( 0 );
          ????????????WritableCell?wc?
          = ?ws.getWritableCell( 0 ,? 0 );

          ????????????
          // ?判斷單元格的類型,做出相應(yīng)的轉(zhuǎn)換
          ????????????Label?label? = ?(Label)?wc;
          ????????????label.setString(
          " ?1 " );

          ????????????wwb.write();
          ????????????wwb.close();
          ????????????rwb.close();
          ????????}?
          catch ?(Exception?e)?{
          ????????????e.printStackTrace();
          ????????}
          ????}

          ????
          /**
          ?????*?讀取Excel
          ?????*?
          ?????*?
          @param ?filePath
          ?????
          */
          ????
          public ? static ? void ?readExcel(String?filePath)?{
          ????????
          try ?{
          ????????????InputStream?is?
          = ? new ?FileInputStream(filePath);
          ????????????Workbook?rwb?
          = ?Workbook.getWorkbook(is);
          ????????????
          // ?Sheet?st?=?rwb.getSheet("0")這里有兩種方法獲取sheet表,1為名字,而為下標(biāo),從0開始
          ????????????Sheet?st? = ?rwb.getSheet( " original " );
          ????????????Cell?c00?
          = ?st.getCell( 0 ,? 0 );
          ????????????
          // ?通用的獲取cell值的方式,返回字符串
          ????????????String?strc00? = ?c00.getContents();
          ????????????
          // ?獲得cell具體類型值的方式
          ???????????? if ?(c00.getType()? == ?CellType.LABEL)?{
          ????????????????LabelCell?labelc00?
          = ?(LabelCell)?c00;
          ????????????????strc00?
          = ?labelc00.getString();
          ????????????}
          ????????????
          // ?輸出
          ????????????System.out.println(strc00);
          ????????????
          // ?關(guān)閉
          ????????????rwb.close();
          ????????}?
          catch ?(Exception?e)?{
          ????????????e.printStackTrace();
          ????????}
          ????}

          ????
          public ? static ? void ?main(String?args[])?{
          ????????
          try ?{
          ????????????File?fileWrite?
          = ? new ?File( " f:/cardWrite.xls " );
          ????????????fileWrite.createNewFile();
          ????????????OutputStream?os?
          = ? new ?FileOutputStream(fileWrite);
          ????????????JexcelHandle.writeExcel(os);
          ????????????JexcelHandle.modifyExcel(
          new ?File( " f:/cardWrite.xls " ),? new ?File(
          ????????????????????
          " f:/cardWrite2.xls " ));
          ????????}?
          catch ?(Exception?e)?{
          ????????????System.out.println(e);
          ????????}
          ????}

          }
          在網(wǎng)上看了寫源碼在結(jié)合自己的。不要忘了下載jxl包喲。http://www.andykhan.com/jexcelapi/
          <%@?page?contentType="text/html;?charset=utf-8"?language="java"?import="java.sql.*"?errorPage=""?%>
          <%@?page?import="org.eagle.gz.*"%>
          <%@?page?import="java.io.*"%>
          <html>
          <head>
          <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8">
          <title>無標(biāo)題文檔</title>
          <style?type="text/css">
          <!--
          body,td,th?{
          ????font
          -size:?12px;
          }
          body?{
          ????margin
          -left:?0px;
          ????margin
          -top:?0px;
          ????margin
          -right:?0px;
          ????margin
          -bottom:?0px;
          }
          -->
          </style></head>

          <body>

          <%
          try{
          response.reset();
          //清除Buffer
          response.setContentType("application/vnd.ms-excel");
          File?fileWrite?
          =?new?File("f:/testWrite.xls");
          fileWrite.createNewFile();
          new?FileOutputStream(fileWrite);
          JexcelHandle.writeExcel(
          new?FileOutputStream(fileWrite));
          }
          catch(Exception?e){
          ????System.out.println(e);
          }
          %>
          </body>
          </html>
          也可以在jsp中運(yùn)用,
          群 16687185? 歡迎你們的加盟。
          posted on 2006-09-20 18:16 skyeagle 閱讀(2060) 評(píng)論(1)  編輯  收藏

          評(píng)論

          # re: java 生成excel文件 可以做為簡單的報(bào)表工具 2007-03-05 19:41 rewr
          rewrwer  回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 齐齐哈尔市| 铁力市| 阳高县| 日喀则市| 岱山县| 漳浦县| 开阳县| 连州市| 得荣县| 江孜县| 曲麻莱县| 包头市| 平安县| 新津县| 石城县| 克什克腾旗| 武邑县| 大埔县| 沧州市| 会理县| 霍林郭勒市| 东兰县| 乌海市| 孝昌县| 亚东县| 景宁| 肇州县| 沙坪坝区| 肥乡县| 互助| 乌拉特后旗| 景德镇市| 盘锦市| 大同市| 昔阳县| 江达县| 黔西县| 乐安县| 长春市| 商南县| 潮州市|