Vincent
BlogJava
::
首頁
::
新隨筆
::
聯系
::
聚合
::
管理
posts - 5, comments - 7, trackbacks - 0
<
2025年5月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(2)
給我留言
查看公開留言
查看私人留言
隨筆分類
snmp(4)
隨筆檔案
2009年6月 (5)
文章分類
JavaScript(8)
JDBC(1)
JfreeChart(1)
JSF(13)
JXL(2)
POI(9)
Print(8)
richfaces(4)
SQL(1)
Swing
tomcat
XML(5)
文章檔案
2008年12月 (2)
2008年11月 (42)
jsf
JSF中文技術文摘
JSF中文技術文摘
JSF中文技術文摘
Webservice技術學習專題
搜索
積分與排名
積分 - 55563
排名 - 927
最新評論
1.?re: POI實現Excel插入圖片[未登錄]
能不能在頁腳或者頁眉插入圖片呢
--lsy
2.?re: C# Sample code to talk to a printer using SNMP to get its status.
評論內容較長,點擊標題查看
--KCC
3.?re: C# Sample code to talk to a printer using SNMP to get its status.
評論內容較長,點擊標題查看
--phaneendra
4.?re: java報表JXL和POI打印設置[未登錄]
aaaaaaaaaaaaaa
--aaa
5.?re: POI實現Excel插入圖片
非常好 ! 謝謝!
--estc
閱讀排行榜
1.?C# Sample code to talk to a printer using SNMP to get its status. (6536)
2.?Cisco常用OID(2886)
3.?OID(1527)
4.?Communicating with SNMP using C# - The Very Beginning (1505)
5.?OID(701)
評論排行榜
1.?C# Sample code to talk to a printer using SNMP to get its status. (2)
2.?Communicating with SNMP using C# - The Very Beginning (1)
3.?OID(0)
4.?OID(0)
5.?Cisco常用OID(0)
使用poi生成excel文件
poi是apache基金下面的一個開源項目,在[url]http://www.apache.org/dyn/closer.cgi/jakarta/poi/[/url] 可以下載到poi的包
下載以后把解壓得到的文件加到web-inf下面的lib目錄下面就可以使用了。
下面先介紹一下生成excel文件要用的類:
HSSFWorkbook 用于創建excel文件
HSSFSheet 用于創建excel的書冊
HSSFRow 用于創建一行
HSSFCell 用于創建一個單元格
HSSFCellStyle 用于創建一個單元格的格式
HSSFFont 用于創建一個單元格的字體格式
下面用本人寫的一個通用的工具類作為例子說明一下生成文件的方法
(這里只列出部分代碼,詳細的請看附件的源碼,如果要使用附件的代碼,請保留原創人的名字)
public
String createFile(List
<
Hashtable
>
hlist)
//
根據傳入的參數讀取數據,這里用了范型指定參數是hashtable類型的list
{
HSSFWorkbook wb
=
new
HSSFWorkbook();
//
創建excel文件
for
(
int
hcount
=
0
;hcount
<
hlist.size();hcount
++
)
{
Hashtable ha
=
hlist.get(hcount);
//
獲取第hcount個元素
HSSFSheet sheettemp
=
wb.createSheet();
wb.setSheetName(hcount,(String)ha.get(
"
name
"
),(
short
)
1
);
//
新建一個sheet
HSSFRow rowtitle
=
sheettemp.createRow((
short
)
0
);
//
添加表頭
HSSFCell celltitle
=
rowtitle.createCell((
short
)
0
);
celltitle.setEncoding(HSSFCell.ENCODING_UTF_16);
//
設置字體編碼
celltitle.setCellValue((String)ha.get(
"
title
"
));
//
設置表頭內容
rowtitle
=
sheettemp.createRow((
short
)
1
);
//
新增一行用于存放表頭內容
String[] fields
=
(String[])ha.get(
"
field
"
);
//
獲取列頭
sheettemp.addMergedRegion(
new
Region(
0
,(
short
)
0
,
0
,(
short
)(fields.length
-
1
)));
//
合并第一行
rowtitle
=
sheettemp.getRow(
0
);
//
獲得第一行的引用
celltitle
=
rowtitle.getCell((
short
)
0
);
//
獲得第一行第一個單元格的引用
setTitleStyle(wb,celltitle);
//
設置表頭格式
HSSFRow rowfield
=
sheettemp.createRow((
short
)
1
);
//
新增一行用于存放列頭內容
for
(
int
i
=
0
;i
<
fields.length;i
++
)
//
根據獲取到的列頭數據,循環設置列頭的內容
{
HSSFCell cellfield
=
rowfield.createCell((
short
)i);
cellfield.setEncoding(HSSFCell.ENCODING_UTF_16);
cellfield.setCellValue(fields[i]);
setFieldStyle(wb,cellfield);
//
設置列頭格式
int
xx
=
cellfield.getStringCellValue().length();
sheettemp.setColumnWidth((
short
) i,(
short
)(
600
*
xx));
}
List listtemp
=
(List)ha.get(
"
body
"
);
//
獲取表格內容
Object[] rowtemp
=
null
;
int
count
=
0
;
for
(Iterator it
=
listtemp.iterator();it.hasNext();)
//
迭代生成數據
{
rowtemp
=
(Object[])it.next();
HSSFRow rowbody
=
sheettemp.createRow((
short
)(count
+
2
));
for
(
int
i
=
0
;i
<
rowtemp.length;i
++
)
{
HSSFCell cellbody
=
rowbody.createCell((
short
)i);
cellbody.setEncoding(HSSFCell.ENCODING_UTF_16);
cellbody.setCellValue((String)rowtemp[i]);
}
count
++
;
}
}
FileOutputStream fileOut;
try
{
fileOut
=
new
FileOutputStream(setFilepath());
//
生成文件
try
{
wb.write(fileOut);
}
catch
(IOException e)
{
System.out.println(e.toString());
}
try
{
fileOut.close();
}
catch
(IOException e)
{
System.out.println(e.toString());
}
}
catch
(FileNotFoundException e)
{
System.out.println(e.toString());
}
return
filename;
}
最后說明一下附件的各個類的作用:
Report.java 接口類,所有的獲取數據的類必須實現這個接口,以便生成文件時統一管理;
ExcelContent.java 實現了Report接口,負責獲取數據并組裝到hashtable;
ReportTool.java 根據傳入的參數生成excel文件,并返回生成的文件名;
CreateReport.java 被外部程序調用,負責獲取數據和把數據傳遞給ReportTool,最后生成excel文件,返回生成的文件名給調用者。
posted on 2008-11-25 16:34
Vincent-chen
閱讀(508)
評論(0)
編輯
收藏
所屬分類:
POI
、
Print
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
操作word的解決方案
POI 將數據導出到Word的實例
使用POI來處理Excel和Word文件格式
使用poi生成excel文件
一步一步使用POI做java報表
一步一步使用POI做java報表--打印設置篇
使用POI生成Excel文檔并設置打印樣式
使用POI向Excel里插入圖片
POI實現Excel插入圖片
Powered by:
BlogJava
Copyright ©2025 Vincent-chen
主站蜘蛛池模板:
国产不卡免费视频
|
免费黄色网址入口
|
亚洲色无码专区在线观看
|
免费人成大片在线观看播放电影
|
日本无卡码免费一区二区三区
|
亚洲综合无码无在线观看
|
无码人妻精品一二三区免费
|
亚洲综合av一区二区三区
|
久久综合AV免费观看
|
亚洲乱码日产精品一二三
|
午夜一级毛片免费视频
|
国产精品久久久久久亚洲影视
|
亚洲欧洲日产国码www
|
最近免费mv在线电影
|
亚洲偷偷自拍高清
|
日本黄色免费观看
|
噜噜综合亚洲AV中文无码
|
一本久久综合亚洲鲁鲁五月天
|
国产黄色片免费看
|
亚洲一区二区三区夜色
|
69式互添免费视频
|
亚洲av无码一区二区三区人妖
|
亚洲午夜福利精品久久
|
亚洲黄片手机免费观看
|
久久亚洲精精品中文字幕
|
成人免费午夜在线观看
|
日韩精品免费一线在线观看
|
亚洲av鲁丝一区二区三区
|
免费看国产成年无码AV片
|
亚洲精品偷拍视频免费观看
|
久久伊人久久亚洲综合
|
97人伦色伦成人免费视频
|
ssswww日本免费网站片
|
亚洲最大的成网4438
|
国产91在线免费
|
久久免费视频精品
|
无码亚洲成a人在线观看
|
亚洲国产精品无码一线岛国
|
国产精品视频永久免费播放
|
永久免费无码日韩视频
|
亚洲国产成人久久综合一区
|