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
主站蜘蛛池模板:
猫咪www免费人成网站
|
久久一本岛在免费线观看2020
|
免费国产综合视频在线看
|
亚欧乱色国产精品免费视频
|
亚洲综合在线成人一区
|
免费va人成视频网站全
|
久久久免费的精品
|
国产亚洲视频在线观看网址
|
亚洲国产成人久久综合碰碰动漫3d
|
四虎成人免费网址在线
|
久久精品国产免费
|
日韩欧美亚洲国产精品字幕久久久
|
亚洲国产熟亚洲女视频
|
福利片免费一区二区三区
|
亚洲va在线va天堂va四虎
|
国产三级电影免费观看
|
18禁止看的免费污网站
|
fc2成年免费共享视频网站
|
亚洲在成人网在线看
|
亚洲午夜国产精品无码老牛影视
|
国产精品久久久久免费a∨
|
国产精品综合专区中文字幕免费播放
|
九一在线完整视频免费观看
|
亚洲一区二区久久
|
亚洲成AV人片在WWW色猫咪
|
在线免费观看韩国a视频
|
18禁止看的免费污网站
|
你是我的城池营垒免费观看完整版
|
亚洲中文字幕久久精品无码A
|
久久精品国产亚洲AV麻豆不卡
|
国产yw855.c免费视频
|
一二三四免费观看在线电影
|
久久免费高清视频
|
在线视频网址免费播放
|
美女黄色免费网站
|
亚洲人成人网站18禁
|
亚洲激情电影在线
|
亚洲乱亚洲乱淫久久
|
亚洲第一AV网站
|
国产乱辈通伦影片在线播放亚洲
|
无人在线观看完整免费版视频
|