翱翔的Eagle

          —— 世界上沒有垃圾,只有放錯了地方的財寶!

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            3 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks

          2006年9月20日 #

          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);
          ????????????
          // ?創建excel工作表?鎮定名稱和位置
          ????????????WritableSheet?ws? = ?wwb.createSheet( " card?sheet? " ,? 0 );
          ????????????
          // ?1.添加Label對象
          ????????????Label?label? = ? new ?Label( 0 ,? 0 ,? " 編號 " );
          ????????????ws.addCell(label);
          ????????????Label?label2?
          = ? new ?Label( 1 ,? 0 ,? " 沖值卡號 " );
          ????????????ws.addCell(label2);
          ????????????Label?label3?
          = ? new ?Label( 2 ,? 0 ,? " 沖值卡密碼 " );
          ????????????ws.addCell(label3);
          ????????????Label?label4?
          = ? new ?Label( 3 ,? 0 ,? " 最晚沖值時間 " );
          ????????????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);
          ????????????
          // 通過?記錄集的方式可以得到數據庫中的相關的記錄
          ????????????
          // ?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對象
          ????????????
          // ?Number?labelN?=?new?Number(0,1,3.1415926);
          ????????????
          // ?ws.addCell(labelN);
          ????????????
          //
          ????????????
          // ? // 添加帶有formatting的Number對象
          ????????????
          // ?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對象
          ????????????
          // ?Boolean?labelB?=?new?jxl.write.Boolean(0,2,false);
          ????????????
          // ?ws.addCell(labelB);
          ????????????
          //
          ????????????
          // ? // 4.添加DateTime對象
          ????????????
          // ?jxl.write.DateTime?labelDT?=?new?jxl.write.DateTime(0,3,new
          ????????????
          // ?java.util.Date());
          ????????????
          // ?ws.addCell(labelDT);
          ????????????
          //
          ????????????
          // ? // 添加帶有formatting的DateFormat對象
          ????????????
          // ?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);
          ????????????
          //
          ????????????
          // ? // 添加圖片對象,jxl只支持png格式圖片
          ????????????
          // ?File?image?=?new?File("f:\\x.png");
          ????????????
          // ?WritableImage?wimage?=?new
          ????????????
          // ?WritableImage(0,1,2,2,image); // 0,1分別代表x,y.2,2代表寬和高占的單元格數
          ????????????
          // ?ws.addImage(wimage);
          ????????????
          // ?寫入工作表
          ????????????wwb.write();
          ????????????wwb.close();
          ????????}?
          catch ?(Exception?e)?{
          ????????????System.out.println(
          "" ? + ?e);
          ????????}

          ????}



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

          ????????????
          // ?判斷單元格的類型,做出相應的轉換
          ????????????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為名字,而為下標,從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);
          ????????????
          // ?關閉
          ????????????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);
          ????????}
          ????}

          }
          在網上看了寫源碼在結合自己的。不要忘了下載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>無標題文檔</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中運用,
          群 16687185? 歡迎你們的加盟。
          posted @ 2006-09-20 18:16 skyeagle 閱讀(2061) | 評論 (1)編輯 收藏

          主站蜘蛛池模板: 修文县| 张家港市| 丹凤县| 崇义县| 班玛县| 建德市| 衡山县| 沁水县| 张北县| 克东县| 壶关县| 什邡市| 阳信县| 沁水县| 武功县| 横峰县| 三原县| 鄱阳县| 嘉黎县| 绥化市| 都江堰市| 齐齐哈尔市| 瓦房店市| 高要市| 牙克石市| 雅江县| 白朗县| 镶黄旗| 新昌县| 淮安市| 嘉兴市| 德化县| 信丰县| 逊克县| 昌图县| 且末县| 钟山县| 博爱县| 巴彦淖尔市| 逊克县| 金昌市|