jsp頁面顯示數(shù)據(jù)導(dǎo)出到excel表中_JSP教程
推薦:JSP數(shù)據(jù)導(dǎo)出到EXCEL簡便方法試試看從網(wǎng)頁中把表格直接生成Excel,雖然不是直接從sql到excel,不過反而更加方便而且人性化。。 網(wǎng)上倒是找到了不少的資料,發(fā)現(xiàn)一段javascript的功能實(shí)現(xiàn)代碼,很不錯(cuò):var elTabl
Excel報(bào)表的方法,一個(gè)過於簡單,一個(gè)只能用於window平臺(tái)(因?yàn)槭褂胘dbc-odbc bridge),且無法使用到Excel內(nèi)部的各種公式或是方法,因此,今天介紹一個(gè)apache出的元件叫POI,它可以在UNIX或window平臺(tái)處理word或Excel檔案,而不需要依靠window的com,并且可設(shè)定儲(chǔ)存格格式、列印格式等等;今天我來介紹其中有關(guān)資料讀取、新增、修改及刪除的功能,若各位網(wǎng)友研究好其他的功能,麻煩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/
將檔案復(fù)制到classpath所指到的地方
二、有興趣的朋友可以參考
http://jakarta.apache.org/poi/
三、先建立一個(gè)叫做book1.xls的Excel檔,內(nèi)容如下
----------------------------------
項(xiàng)目 單價(jià) 數(shù)量 合計(jì)
CPU 7000 5 35000
硬碟 2500 2 5000
記憶體 1600 3 4800
----------------------------------
其中合計(jì)的欄位是設(shè)定公式,單價(jià)*數(shù)量
四、資料讀取範(fàn)例
<%@ page contentType="text/html;charset=MS950" import="java.util.*,java.io.*" %>
<%@ page import="org.apache.poi.poifs.filesystem.*,org.apache.poi.hssf.usermodel.*" %>
| "); //判斷儲(chǔ)存格的格式 switch ( cell.getCellType() ) { case HSSFCell.CELL_TYPE_NUMERIC: out.print(cell.getNumericCellValue()); //getNumericCellValue()會(huì)回傳double值,若不希望出現(xiàn)小數(shù)點(diǎn),請(qǐng)自行轉(zhuǎn)型為int break; case HSSFCell.CELL_TYPE_STRING: out.print( cell.getStringCellValue()); break; case HSSFCell.CELL_TYPE_FORMULA: out.print(cell.getNumericCellValue()); //讀出公式儲(chǔ)存格計(jì)算後的值 //若要讀出公式內(nèi)容,可用cell.getCellFormula() break; default: out.print( "不明的格式"); break; } out.println(" | ");
五、資料新增範(fàn)例
<%@ page contentType="text/html;charset=MS950" import="java.util.*,java.io.*" %>
<%@ page import="org.apache.poi.poifs.filesystem.*,org.apache.poi.hssf.usermodel.*" %>
<%
FileInputStream finput = new FileInputStream(application.getRealPath("/") "book1.xls" );
//設(shè)定FileINputStream讀取Excel檔
POIFSFileSystem fs = new POIFSFileSystem( finput );
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);
//讀取第一個(gè)工作表,宣告其為sheet
finput.close();
HSSFRow row=null;
//宣告一列
HSSFCell cell=null;
//宣告一個(gè)儲(chǔ)存格
short i=4;
row=sheet.createRow(i);
//建立一個(gè)新的列,注意是第五列(列及儲(chǔ)存格都是從0起算)
cell=row.createCell((short)0);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
//設(shè)定這個(gè)儲(chǔ)存格的字串要儲(chǔ)存雙位元
cell.setCellValue("顯示卡");
cell=row.createCell((short)1);
cell.setCellValue(1700);
cell=row.createCell((short)2);
cell.setCellValue(8);
cell=row.createCell((short)3);
//設(shè)定這個(gè)儲(chǔ)存格為公式儲(chǔ)存格,并輸入公式
cell.setCellFormula("B" (i 1) "*C" (i 1));
try
{
FileOutputStream fout=new FileOutputStream(application.getRealPath("/") "book1.xls");
wb.write(fout);
//儲(chǔ)存
fout.close();
out.println("儲(chǔ)存成功book1.xls");
}
catch(IOException e)
{
out.println("產(chǎn)生錯(cuò)誤,錯(cuò)誤訊息:" e.toString());
}
%>
六、資料刪除、修改範(fàn)例
<%@ page contentType="text/html;charset=MS950" import="java.util.*,java.io.*" %>
<%@ page import="org.apache.poi.poifs.filesystem.*,org.apache.poi.hssf.usermodel.*" %>
<%
FileInputStream finput = new FileInputStream(application.getRealPath("/") "book1.xls" );
//設(shè)定FileINputStream讀取Excel檔
POIFSFileSystem fs = new POIFSFileSystem( finput );
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);
//讀取第一個(gè)工作表,宣告其為sheet
finput.close();
HSSFRow row=null;
//宣告一列
HSSFCell cell=null;
//宣告一個(gè)儲(chǔ)存格
row=sheet.getRow((short)4);
//取出第五列
if (row!=null)
sheet.removeRow(row);
//先偵測(cè)第五列存不存在,若在的話將第五列刪除
row=sheet.getRow((short)3);
//取出第四列
cell=row.getCell((short)2);
//取出第三個(gè)儲(chǔ)存格
cell.setCellValue(7);
//設(shè)定該儲(chǔ)存格值為7
cell=row.getCell((short)3);
cell.setCellFormula(cell.getCellFormula());
//上兩行為取出公式儲(chǔ)存格,并重新計(jì)算(因?yàn)閯偛鸥逻^計(jì)算公式的值)
//如果不做,公式計(jì)算後的值不會(huì)更新
try
{
FileOutputStream fout=new FileOutputStream(application.getRealPath("/") "book1.xls");
wb.write(fout);
//儲(chǔ)存
fout.close();
out.println("儲(chǔ)存成功book1.xls");
}
catch(IOException e)
{
out.println("產(chǎn)生錯(cuò)誤,錯(cuò)誤訊息:" e.toString());
}
%>
http://blog.csdn.net/gqm1982/archive/2007/01/25/1493229.aspx
分享:jsp中的數(shù)據(jù)庫編程一,SQL復(fù)習(xí)1,SQL語句分為兩類:DDL(Data Definition Language)和DML(Dat Manipulation Languge,數(shù)據(jù)操作語言)。前者主要是定義數(shù)據(jù)邏輯結(jié)構(gòu),包括定義表、視圖和索引;DML主要是對(duì)數(shù)據(jù)庫進(jìn)
- jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復(fù)習(xí)整理
- JSP腳本元素和注釋復(fù)習(xí)總結(jié)示例
- JSP FusionCharts Free顯示圖表 具體實(shí)現(xiàn)
- 網(wǎng)頁模板:關(guān)于jsp頁面使用jstl的異常分析
- JSP頁面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項(xiàng)目中連接Access數(shù)據(jù)庫的配置方法
- JDBC連接Access數(shù)據(jù)庫的幾種方式介紹
- 網(wǎng)站圖片路徑的問題:絕對(duì)路徑/虛擬路徑
- (jsp/html)網(wǎng)頁上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對(duì)路徑下的圖片解決方法
JSP教程Rss訂閱編程教程搜索
JSP教程推薦
猜你也喜歡看這些
- JSP三種頁面跳轉(zhuǎn)方式的比較
- J2EE應(yīng)用服務(wù)器Jboss Tomcat安裝攻略
- 在JSP中如何實(shí)現(xiàn)MD5加密
- jsp中的數(shù)據(jù)庫編程
- 揭秘學(xué)習(xí)Java必須了解的30個(gè)基本概念
- JSP中“預(yù)定義變量”的使用
- JSP由淺入深3— 通過表達(dá)式增加動(dòng)態(tài)內(nèi)容
- Jsp常用功能CSV文件的生成與分析
- JSP網(wǎng)站開發(fā)環(huán)境的目錄結(jié)構(gòu)標(biāo)準(zhǔn)
- NetBeans 4.0創(chuàng)建J2ME手機(jī)RSS閱讀器
- 相關(guān)鏈接:
- 教程說明:
JSP教程-jsp頁面顯示數(shù)據(jù)導(dǎo)出到excel表中
。