亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

jsp頁面顯示數據導出到excel表中

2024-09-05 00:19:51
字體:
來源:轉載
供稿:網友
中國最大的web開發資源網站及技術社區,
excel報表的方法,一個過於簡單,一個只能用於window平臺(因為使用jdbc-odbc bridge),且無法使用到excel內部的各種公式或是方法,因此,今天介紹一個apache出的元件叫poi,它可以在unix或window平臺處理word或excel檔案,而不需要依靠window的com,并且可設定儲存格格式、列印格式等等;今天我來介紹其中有關資料讀取、新增、修改及刪除的功能,若各位網友研究好其他的功能,麻煩email給我([email protected]),分享給大家!
一、需要用的檔案:jakarta-poi-1.8.0-dev-20020917.jar
 幾乎每天都有1.8.0的最新版(但非正式版),正式的版本是1.5.0
 http://jakarta.apache.org/builds/jakarta-poi/nightly/
 將檔案復制到classpath所指到的地方
二、有興趣的朋友可以參考
  http://jakarta.apache.org/poi/
三、先建立一個叫做book1.xls的excel檔,內容如下
----------------------------------
項目  單價  數量   合計
cpu   7000  5    35000
硬碟  2500  2    5000
記憶體 1600  3    4800
----------------------------------
其中合計的欄位是設定公式,單價*數量
 
四、資料讀取範例
<%@ page contenttype="text/html;charset=ms950" import="java.util.*,java.io.*" %>
<%@ page import="org.apache.poi.poifs.filesystem.*,org.apache.poi.hssf.usermodel.*" %>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ms950">
<title>讀取excel檔案</title>
</head>
<body>
<table border="1" width="100%">
<%
  fileinputstream finput = new fileinputstream(application.getrealpath("/")+"book1.xls" );
  //設定fileinputstream讀取excel檔
  poifsfilesystem fs = new poifsfilesystem( finput );
  hssfworkbook wb = new hssfworkbook(fs);
  hssfsheet sheet = wb.getsheetat(0);
  //讀取第一個工作表,宣告其為sheet
  finput.close();
  hssfrow row=null;
  //宣告一列
  hssfcell cell=null;
  //宣告一個儲存格
  short i=0;
  short y=0;
  //以巢狀迴圈讀取所有儲存格資料
  for (i=0;i<=sheet.getlastrownum();i++)
  {
    out.println("<tr>");
    row=sheet.getrow(i);
    for (y=0;y<row.getlastcellnum();y++)
    {
       cell=row.getcell(y);
       out.print("<td>");
      
       //判斷儲存格的格式
       switch ( cell.getcelltype() )
       {
           case hssfcell.cell_type_numeric:
               out.print(cell.getnumericcellvalue());
               //getnumericcellvalue()會回傳double值,若不希望出現小數點,請自行轉型為int
               break;
           case hssfcell.cell_type_string:
               out.print( cell.getstringcellvalue());
               break;
           case hssfcell.cell_type_formula:
               out.print(cell.getnumericcellvalue());
               //讀出公式儲存格計算後的值
               //若要讀出公式內容,可用cell.getcellformula()
               break;
           default:
               out.print( "不明的格式");
               break;
       }
       out.println("</td>");
    }
    out.println("</tr>");
  }
%>
</table>
</body>
</html>
 
五、資料新增範例
<%@ page contenttype="text/html;charset=ms950" import="java.util.*,java.io.*" %>
<%@ page import="org.apache.poi.poifs.filesystem.*,org.apache.poi.hssf.usermodel.*" %>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ms950">
<title>插入資料至excel檔案</title>
</head>
<body>
<%
  fileinputstream finput = new fileinputstream(application.getrealpath("/")+"book1.xls" );
  //設定fileinputstream讀取excel檔
  poifsfilesystem fs = new poifsfilesystem( finput );
  hssfworkbook wb = new hssfworkbook(fs);
  hssfsheet sheet = wb.getsheetat(0);
  //讀取第一個工作表,宣告其為sheet
  finput.close();
  hssfrow row=null;
  //宣告一列
  hssfcell cell=null;
  //宣告一個儲存格
  short i=4;
  row=sheet.createrow(i);
  //建立一個新的列,注意是第五列(列及儲存格都是從0起算)
  cell=row.createcell((short)0);
  cell.setencoding(hssfcell.encoding_utf_16);
  //設定這個儲存格的字串要儲存雙位元
  cell.setcellvalue("顯示卡");
  cell=row.createcell((short)1);
  cell.setcellvalue(1700);
  cell=row.createcell((short)2);
  cell.setcellvalue(8);
  cell=row.createcell((short)3);
  //設定這個儲存格為公式儲存格,并輸入公式
  cell.setcellformula("b"+(i+1)+"*c"+(i+1));
  try
  {
    fileoutputstream fout=new fileoutputstream(application.getrealpath("/")+"book1.xls");
    wb.write(fout);
    //儲存
    fout.close();
    out.println("儲存成功<a href='book1.xls'>book1.xls</a>");
  }
  catch(ioexception e)
  {
    out.println("產生錯誤,錯誤訊息:"+e.tostring());
  }
%>
</body>
</html>
 
六、資料刪除、修改範例
<%@ page contenttype="text/html;charset=ms950" import="java.util.*,java.io.*" %>
<%@ page import="org.apache.poi.poifs.filesystem.*,org.apache.poi.hssf.usermodel.*" %>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ms950">
<title>刪除、修改資料至excel檔案</title>
</head>
<body>
<%
  fileinputstream finput = new fileinputstream(application.getrealpath("/")+"book1.xls" );
  //設定fileinputstream讀取excel檔
  poifsfilesystem fs = new poifsfilesystem( finput );
  hssfworkbook wb = new hssfworkbook(fs);
  hssfsheet sheet = wb.getsheetat(0);
  //讀取第一個工作表,宣告其為sheet
  finput.close();
  hssfrow row=null;
  //宣告一列
  hssfcell cell=null;
  //宣告一個儲存格
  row=sheet.getrow((short)4);
  //取出第五列
  if (row!=null)
     sheet.removerow(row);
  //先偵測第五列存不存在,若在的話將第五列刪除
  row=sheet.getrow((short)3);
  //取出第四列
  cell=row.getcell((short)2);
  //取出第三個儲存格
  cell.setcellvalue(7);
  //設定該儲存格值為7
  cell=row.getcell((short)3);
  cell.setcellformula(cell.getcellformula());
  //上兩行為取出公式儲存格,并重新計算(因為剛才更新過計算公式的值)
  //如果不做,公式計算後的值不會更新
  try
  {
    fileoutputstream fout=new fileoutputstream(application.getrealpath("/")+"book1.xls");
    wb.write(fout);
    //儲存
    fout.close();
    out.println("儲存成功<a href='book1.xls'>book1.xls</a>");
  }
  catch(ioexception e)
  {
    out.println("產生錯誤,錯誤訊息:"+e.tostring());
  }
%>
</body>
</html>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩免费在线观看视频| 亚洲精品国产免费| 色综合久久88色综合天天看泰| 久久精品国产欧美激情| 欧美丰满老妇厨房牲生活| 97热在线精品视频在线观看| 亚洲风情亚aⅴ在线发布| 欧美性猛交xxxx黑人| 欧美激情性做爰免费视频| 亚洲欧美日韩在线高清直播| 中文字幕在线观看亚洲| 日韩经典一区二区三区| 久久精品久久久久| www.欧美精品| 国产成人精品999| 亚洲女成人图区| 国产亚洲在线播放| 国产成人精品免高潮费视频| 国产精品电影观看| 成人字幕网zmw| 亚洲jizzjizz日本少妇| 亚洲国产日韩欧美在线99| 欧美性生交xxxxx久久久| 欧美黑人性视频| 欧美精品一本久久男人的天堂| 成人免费网站在线| 久久久精品在线观看| 国内外成人免费激情在线视频网站| 亚洲精品日韩激情在线电影| 成人精品视频在线| 久久精品国产亚洲一区二区| 美女久久久久久久久久久| 国产精品热视频| 精品国产乱码久久久久久虫虫漫画| www日韩中文字幕在线看| 日韩av网址在线| 亚洲国产精品va在线| 精品久久久免费| 欧美最猛性xxxxx免费| 国产成人精品一区二区在线| 欧美精品久久久久久久免费观看| 欧美另类在线观看| 欧美一区二粉嫩精品国产一线天| 精品中文字幕在线观看| 亚洲美女自拍视频| 精品亚洲男同gayvideo网站| 久久99国产精品久久久久久久久| 精品国偷自产在线视频99| 国产精品96久久久久久又黄又硬| 国产一区二区三区在线播放免费观看| 在线成人一区二区| 欧美乱大交做爰xxxⅹ性3| 国产精品96久久久久久又黄又硬| 欧美综合国产精品久久丁香| 亚洲男人的天堂在线| 欧美激情国产高清| 日韩在线视频一区| 一夜七次郎国产精品亚洲| 亚洲国产欧美一区二区三区久久| 一区二区三区美女xx视频| 国产97在线|日韩| 欧美亚洲国产视频| 欧美黄色片在线观看| 色偷偷av亚洲男人的天堂| 亚洲欧洲黄色网| 亚洲国产精品系列| 国内精品小视频在线观看| 日韩在线视频观看正片免费网站| 亚洲另类欧美自拍| 亚洲片av在线| 亚洲图片欧洲图片av| www.日韩视频| 欧美另类极品videosbest最新版本| 亚洲精品www久久久久久广东| 中文字幕9999| 色悠悠久久88| 少妇高潮久久77777| 国产午夜精品麻豆| 国产亚洲精品美女久久久| 久久久久久久亚洲精品| 668精品在线视频| 91成人在线播放| 91国偷自产一区二区三区的观看方式| 色爱av美腿丝袜综合粉嫩av| 久久久噜久噜久久综合| 欧美日韩一区二区精品| 日韩精品有码在线观看| 久久乐国产精品| 精品久久久中文| 色综合久久久久久中文网| 色综合色综合网色综合| 九九热精品视频国产| 成人国产精品色哟哟| 欧美激情a∨在线视频播放| 亚洲毛片在线观看.| 久久亚洲综合国产精品99麻豆精品福利| 日韩电影中文字幕一区| 91久久精品国产91久久| 日韩一区二区三区国产| 欧美激情视频在线免费观看 欧美视频免费一| 成人免费大片黄在线播放| 国内免费久久久久久久久久久| 国产精品h片在线播放| 91精品视频在线看| 国产精品白嫩初高中害羞小美女| 欧美激情综合色综合啪啪五月| 91亚洲国产成人久久精品网站| 亚洲最大中文字幕| 国产日韩欧美电影在线观看| 久久成人精品视频| 亚洲v日韩v综合v精品v| 欧美激情视频给我| 国产美女91呻吟求| 91黄色8090| 亚洲成av人乱码色午夜| 久久久久在线观看| 日韩精品亚洲视频| 日韩av电影手机在线观看| 国产精品一久久香蕉国产线看观看| 久久久亚洲欧洲日产国码aⅴ| 2019精品视频| 久久69精品久久久久久久电影好| 亚洲男女自偷自拍图片另类| 国产亚洲成精品久久| 亚洲欧美国产精品| 亚洲精品久久在线| 日韩av电影国产| 97人洗澡人人免费公开视频碰碰碰| 亚洲免费一在线| 亚洲一区二区三区乱码aⅴ| www.精品av.com| 久久久免费观看| 久久婷婷国产麻豆91天堂| 久久久久久999| 成人久久18免费网站图片| 欧美另类69精品久久久久9999| 亚洲欧美激情四射在线日| 欧美日韩成人黄色| 亚洲国产精品高清久久久| 欧美日韩国产成人高清视频| 精品国产乱码久久久久久天美| 欧美亚洲国产日韩2020| 欧美成人sm免费视频| 青青a在线精品免费观看| 亚洲欧洲在线视频| 精品久久久久久中文字幕大豆网| 精品国产福利视频| 日韩av手机在线观看| 亚洲国产另类久久精品| 欧美床上激情在线观看| 韩国v欧美v日本v亚洲| 色综合伊人色综合网| 欧美美女18p| 国产第一区电影| 成人免费视频97| 国产日韩专区在线| 欧美电影免费观看高清| 成人精品久久一区二区三区| 国产精品av电影| 欧美成在线视频| 色中色综合影院手机版在线观看| 欧美日韩中文在线观看| 久久久久日韩精品久久久男男| 色哟哟网站入口亚洲精品|