JAVA操作excel

          ?1 package ?com.eesys.apps.logic;
          ?2
          ?3 import ?java.io.File;
          ?4 import ?java.io.FileInputStream;
          ?5 import ?java.io.InputStream;
          ?6
          ?7 import ?jxl.Cell;
          ?8 import ?jxl.CellType;
          ?9 import ?jxl.Sheet;
          10 import ?jxl.Workbook;
          11 import ?jxl.write.Label;
          12
          13 public ? class ?PrintManager? {
          14 ????
          15 ?????? public ? static ? void ?main(String[]?args)? {
          16 ????????jxl.Workbook?rwb? = ? null ;
          17 ???????? try {
          18 ?????????? // 構建Workbook對象,?只讀Workbook對象
          19 ?????????? // 直接從本地文件創建Workbook
          20 ?????????? // 從輸入流創建Workbook
          21 ????????????System.out.println( " ********START!******* " );
          22 ??????????InputStream?is? = ? new ?FileInputStream( " D:/test.xls " );
          23 ??????????rwb? = ?Workbook.getWorkbook(is);
          24
          25 ?????????? // Sheet(術語:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中
          26 ?????????? // Sheet的下標是從0開始
          27 ?????????? // 獲取第一張Sheet表
          28 ???????????Sheet?rs? = ?rwb.getSheet( 0 );
          29 ??????????? // 獲取Sheet表中所包含的總列數
          30 ??????????? int ?rsColumns? = ?rs.getColumns();
          31 ??????????? // 獲取Sheet表中所包含的總行數
          32 ??????????? int ?rsRows? = ?rs.getRows();
          33 ??????????? // 獲取指定單元格的對象引用
          34 ??????????? for ( int ?i = 0 ;i < rsRows;i ++ ) {
          35 ????????????? for ( int ?j = 0 ;j < rsColumns;j ++ ) {
          36 ???????????????Cell?cell? = ?rs.getCell(j,i);
          37 ???????????????System.out.print(cell.getContents() + " ? " );
          38 ?????????????}

          39 ?????????????System.out.println();
          40 ???????????}

          41 ??????????? // 利用已經創建的Excel工作薄創建新的可寫入的Excel工作薄
          42 ???????????jxl.write.WritableWorkbook?wwb? = ?Workbook.createWorkbook( new ?File( " D:/Book2.xls " ),rwb);
          43 ??????????? // 讀取第一張工作表
          44 ???????????
          45 ???????????jxl.write.WritableSheet?ws? = ?wwb.getSheet( 0 );
          46 ???????????
          47 ???????????
          48 ??????????? // 獲得第一個單元格對象
          49 ???????????jxl.write.WritableCell?wc? = ?ws.getWritableCell( 0 ,? 0 );
          50 ??????????? // 判斷單元格的類型,?做出相應的轉化
          51 ??????????? if ?(wc.getType()? == ?CellType.LABEL)? {
          52 ?????????????Label?l? = ?(Label)?wc;
          53 ?????????????l.setString( " The?value?has?been?modified. " );
          54 ???????????}

          55 ??????????? // 寫入Excel對象
          56 ???????????wwb.write();
          57 ???????????wwb.close();
          58 ???????????System.out.println( " ********END!******* " );
          59
          60 ????????}
          catch (Exception?e) {
          61 ??????????e.printStackTrace();
          62 ????????}

          63 ???????? finally {
          64 ?????????? // 操作完成時,關閉對象,釋放占用的內存空間
          65 ??????????rwb.close();
          66
          67 ????????}

          68 ??????}

          69 ????}

          70

          JSP 文件
          ?1<%@?page?contentType="text/html;?charset=GBK"?%>
          ?2<%@?page?import="java.io.File"?%>
          ?3<%@?page?import="java.io.FileInputStream"?%>
          ?4<%@?page?import="java.io.FileOutputStream"?%>
          ?5<%@?page?import="jxl.write.WritableSheet"?%>
          ?6<%@?page?import="java.io.InputStream"?%>
          ?7
          ?8<%
          ?9response.reset();//清除Buffer
          10response.setContentType("application/vnd.ms-excel");
          11File?fileWrite?=?new?File("d:/test.xls");
          12response.setContentLength((int)?fileWrite.length());?
          13InputStream?in=new?FileInputStream(fileWrite);
          14byte[]?b?=?new?byte[2048];
          15int?len?=?0;
          16while?((len?=?in.read(b))?>?0)?{
          17????response.getOutputStream().write(b,?0,?len);?//?向瀏覽器輸出
          18???}

          19in.close();
          20response.getOutputStream().close();
          21
          22%>

          posted on 2006-12-19 15:00 Tom 閱讀(177) 評論(0)  編輯  收藏 所屬分類: 報表工具

          <2006年12月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類(42)

          隨筆檔案(43)

          文章分類

          相冊

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 察隅县| 门源| 台北市| 尖扎县| 远安县| 元朗区| 湘潭市| 德钦县| 子洲县| 巨鹿县| 承德市| 清苑县| 威信县| 蓝田县| 平利县| 凤凰县| 休宁县| 门头沟区| 清水县| 电白县| 锡林郭勒盟| 大宁县| 呈贡县| 靖江市| 东安县| 武山县| 建湖县| 远安县| 遂宁市| 轮台县| 三门县| 天门市| 昌江| 东乡族自治县| 政和县| 双牌县| 铜山县| 邵武市| 延边| 东乡族自治县| 房山区|