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)定名稱(chēng)和位置
????????????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);
???????????? // 通過(guò)?記錄集的方式可以得到數(shù)據(jù)庫(kù)中的相關(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);
???????????? // ?寫(xiě)入工作表
????????????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 );
???????????? // ?判斷單元格的類(lèi)型,做出相應(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開(kāi)始
????????????Sheet?st? = ?rwb.getSheet( " original " );
????????????Cell?c00? = ?st.getCell( 0 ,? 0 );
???????????? // ?通用的獲取cell值的方式,返回字符串
????????????String?strc00? = ?c00.getContents();
???????????? // ?獲得cell具體類(lèi)型值的方式
???????????? 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);
????????}
????}
}
<%@?page?import="org.eagle.gz.*"%>
<%@?page?import="java.io.*"%>
<html>
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8">
<title>無(wú)標(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>
群 16687185? 歡迎你們的加盟。