java統計資料並匯出Excel

2021-09-13 22:46:34 字數 4142 閱讀 4230

業務**:

;//excel檔名

string filename =

"departstatistics"

+ datetools.

datetostring

(new

date()

,"yyy-mm-dd-hhmmss")+

".xls"

;//sheet名

string sheetname ="";

if(declareyear == null ||"".

equals

(declareyear)

)else

//響應到客戶端

try map

map =

newhashmap

(); map.

put(

"type"

, case.type_depart)

; map.

put(

"declareyear"

,declareyear)

; map.

put(

"handlingdepartment"

, null)

;//獲取資料

list

> countlist = caservice.

getcountlist

(map)

; string [

] content =

newstring

[countlist.

size()

];for(

int i =

0; i < countlist.

size()

; i++

) content[i][1

]= handlingdepartment;

content[i][2

]= notcheck;

content[i][3

]= checked;

content[i][4

]= declared;

content[i][5

]= casecount;

}//建立hssfworkbook

hssfworkbook wb = excelutil.

gethssfworkbook

(sheetname, title, content, null)

;//配置路徑下 增加年月資料夾

string filepath = configitem.

getcurrentvalue()

+"\\"

+ datetools.

datetostring

(new

date()

,"yyyymm");

//資料夾不存在進行建立

fileupanddown.

checkdirexists

(filepath)

;//上傳至伺服器

file file =

newfile

(filepath +

"\\"

+ filename)

; fileoutputstream outfile =

newfileoutputstream

(file)

; wb.

write

(outfile)

; outfile.

flush()

; outfile.

close()

;}catch

(exception e)

modelmap.

put(

"status"

,status)

; modelmap.

put(

"filename"

,filename)

; modelmap.

put(

"filekey"

,configitem.type_statistics_path)

;return modelmap;

}excel工具類:

import org.apache.poi.hssf.usermodel.*;

public

class

excelutil

// 第二步,在workbook中新增乙個sheet,對應excel檔案中的sheet

hssfsheet sheet = wb.

createsheet

(sheetname)

;// 第三步,在sheet中新增表頭第0行,注意老版本poi對excel的行數列數有限制

hssfrow row = sheet.

createrow(0

);// 第四步,建立單元格,並設定值表頭 設定表頭居中

hssfcellstyle style = wb.

createcellstyle()

; style.

setalignment

(hssfcellstyle.align_center)

;// 建立乙個居中格式

// 設定字型

hssffont font = wb.

createfont()

; font.

setfontname

("宋體");

font.

setfontheightinpoints((

short)13

);// 字型大小

// 設定單元格格式

hssfdataformat format = wb.

createdataformat()

; style.

setdataformat

(format.

getformat

("@"))

; style.

setfont

(font)

; style.

setwraptext

(true);

// 自動換行

//宣告列物件

hssfcell cell = null;

//建立標題

for(

int i=

0;i)//建立內容

for(

int i=

0;i//自動調整列寬

分組統計資料

with a as select convert varchar 10 starttime,120 starttime,case when organid like 0226 then else 非 end as deptname,sum case when billableseconds 0 th...

oracle查詢統計資料

oracle 按每天,每週,每月,每季度,每年查詢統計資料 按天統計 select count dataid as 每天運算元量,sum from tablename group by trunc createtime,dd 按自然周統計 select to char date,iw sum fro...

oracle範圍統計資料

需求 充值總筆數 筆數 單筆0 200元 筆數 單筆201 300元 筆數 單筆301 500元 筆數 單筆501元及以上 參照範例 需求 統計wait order表中的工單總數 未處理工單總數 已完成工單總數 未完成工單總數。表結構 為了舉例子方便,wait order表只有兩個字段,分別是id ...