本技術(shù)涉及金融科技(fintech),尤其涉及一種excel文件導(dǎo)出方法和裝置、電子設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、在金融業(yè)務(wù)項(xiàng)目中,存在大量的金融業(yè)務(wù)數(shù)據(jù)需要制成excel表格。通過開源框架可以實(shí)現(xiàn)金融業(yè)務(wù)項(xiàng)目的excel文件導(dǎo)出,但是,引用開源框架生成excel的代碼都幾乎一致。在金融業(yè)務(wù)項(xiàng)目中需要導(dǎo)出相應(yīng)的excel文件,則需要針對(duì)業(yè)務(wù)項(xiàng)目重新撰寫相應(yīng)的生成excel文件的代碼,并且,生成excel文件的代碼較為繁瑣,重復(fù)撰寫生成excel文件的代碼浪費(fèi)過多的人力資源。因此,如何降低生成excel的代碼重復(fù)率,成為了亟待解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例的主要目的在于提出一種excel文件導(dǎo)出方法和裝置、電子設(shè)備及存儲(chǔ)介質(zhì),旨在提高推薦的準(zhǔn)確性。
2、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的第一方面提出了一種excel文件導(dǎo)出方法,所述方法包括:
3、基于預(yù)設(shè)結(jié)構(gòu)層級(jí)構(gòu)建excel表格的基礎(chǔ)結(jié)構(gòu),得到初始表格結(jié)構(gòu);
4、根據(jù)所述初始表格結(jié)構(gòu)和預(yù)設(shè)的關(guān)鍵字段信息配置所述excel表格的關(guān)鍵字段,得到目標(biāo)配置表;
5、根據(jù)所述目標(biāo)配置表進(jìn)行實(shí)體類生成處理,得到目標(biāo)載體;其中,所述目標(biāo)載體為實(shí)體類;
6、根據(jù)所述目標(biāo)載體對(duì)金融業(yè)務(wù)數(shù)據(jù)進(jìn)行動(dòng)態(tài)渲染,得到目標(biāo)excel文件;其中,所述金融業(yè)務(wù)數(shù)據(jù)為文本數(shù)據(jù);
7、根據(jù)預(yù)先封裝的目標(biāo)對(duì)外接口導(dǎo)出所述目標(biāo)excel文件。
8、在一些實(shí)施例,所述基于預(yù)設(shè)結(jié)構(gòu)層級(jí)構(gòu)建excel表格的基礎(chǔ)結(jié)構(gòu),得到初始表格結(jié)構(gòu),包括:
9、建立所述預(yù)設(shè)結(jié)構(gòu)層級(jí)之間的關(guān)系,得到第一表格結(jié)構(gòu);其中,所述預(yù)設(shè)結(jié)構(gòu)層級(jí)包括行層級(jí)結(jié)構(gòu);
10、在所述第一表格結(jié)構(gòu)的基礎(chǔ)上,將預(yù)先構(gòu)建的抽象取數(shù)接口與所述行層級(jí)結(jié)構(gòu)進(jìn)行綁定,得到第二表格結(jié)構(gòu);
11、根據(jù)預(yù)設(shè)的開發(fā)項(xiàng)目構(gòu)建所述第二表格結(jié)構(gòu)的底層功能,得到所述初始表格結(jié)構(gòu)。
12、在一些實(shí)施例,所述層級(jí)結(jié)構(gòu)還包括文件層級(jí)結(jié)構(gòu)和頁層級(jí)結(jié)構(gòu),所述關(guān)鍵字段信息包括文件主體配置信息、頁配置信息、行配置信息和記錄表配置信息,所述根據(jù)所述初始表格結(jié)構(gòu)和預(yù)設(shè)的關(guān)鍵字段信息配置所述excel表格的關(guān)鍵字段,得到目標(biāo)配置表,包括:
13、根據(jù)所述主體配置信息配置所述文件層級(jí)結(jié)構(gòu)的關(guān)鍵字段;
14、根據(jù)所述頁配置信息配置所述頁層級(jí)結(jié)構(gòu)的關(guān)鍵字段;
15、根據(jù)所述行配置信息配置所述行層級(jí)結(jié)構(gòu)的關(guān)鍵字段;
16、根據(jù)所述記錄表配置信息配置所述excel表格的任務(wù)日志表的關(guān)鍵字段,得到所述目標(biāo)配置表。
17、在一些實(shí)施例,所述根據(jù)所述目標(biāo)載體對(duì)金融業(yè)務(wù)數(shù)據(jù)進(jìn)行動(dòng)態(tài)渲染,得到目標(biāo)excel文件,包括:
18、根據(jù)所述目標(biāo)載體設(shè)計(jì)excel配置的抽象類實(shí)體;
19、根據(jù)所述抽象類實(shí)體設(shè)計(jì)所述excel配置的屬性接口類;
20、在預(yù)設(shè)的業(yè)務(wù)層設(shè)計(jì)所述excel配置的業(yè)務(wù)層接口類;
21、根據(jù)所述excel配置對(duì)所述金融業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)流扭轉(zhuǎn)處理,得到所述目標(biāo)excel文件。
22、在一些實(shí)施例,所述根據(jù)所述excel配置對(duì)所述金融業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)流扭轉(zhuǎn)處理,得到所述目標(biāo)excel文件,包括:
23、根據(jù)傳參導(dǎo)出的目標(biāo)參數(shù)檢驗(yàn)在數(shù)據(jù)庫中的所述excel配置,并初始化設(shè)置工作簿對(duì)象;
24、基于預(yù)設(shè)的poi框架根據(jù)所述excel配置和所述工作簿對(duì)象創(chuàng)建excel的文檔對(duì)象,得到目標(biāo)文檔對(duì)象;
25、根據(jù)行配置的業(yè)務(wù)字段標(biāo)識(shí)將獲取的json數(shù)據(jù)渲染至excel的頁面;
26、根據(jù)預(yù)先識(shí)別的excel的表格樣式設(shè)置文件的內(nèi)容格式,得到excel文件內(nèi)容格式;
27、根據(jù)所述excel文件內(nèi)容格式將所述金融業(yè)務(wù)數(shù)據(jù)填充至所述目標(biāo)文檔對(duì)象;
28、基于所述poi框架生成excel文件流,得到所述目標(biāo)excel文件。
29、在一些實(shí)施例,所述根據(jù)預(yù)先封裝的目標(biāo)對(duì)外接口導(dǎo)出所述目標(biāo)excel文件,包括:
30、根據(jù)預(yù)先構(gòu)建的任務(wù)日志表記錄所述目標(biāo)excel文件的導(dǎo)出操作和文件路徑;
31、對(duì)所述導(dǎo)出操作進(jìn)行異常判斷,得到操作判斷結(jié)果;
32、對(duì)用戶的注冊(cè)配置進(jìn)行異常識(shí)別,得到用戶配置識(shí)別結(jié)果;
33、根據(jù)所述操作判斷結(jié)果和所述用戶配置識(shí)別結(jié)果在所述文件路徑中獲取所述目標(biāo)excel文件;
34、通過所述目標(biāo)對(duì)外接口導(dǎo)出所述目標(biāo)excel文件。
35、在一些實(shí)施例,所述目標(biāo)excel文件導(dǎo)出后上傳至oss系統(tǒng),所述excel文件導(dǎo)出方法還包括:
36、獲取excel文件的導(dǎo)出方式,并對(duì)導(dǎo)出方式進(jìn)行判斷;
37、若導(dǎo)出方式表示所述目標(biāo)excel文件同步導(dǎo)出,則通過瀏覽器下載所述目標(biāo)excel文件;
38、若導(dǎo)出方式表示所述目標(biāo)excel文件異步導(dǎo)出,則通過導(dǎo)出任務(wù)的標(biāo)識(shí)號(hào)在所述oss系統(tǒng)中獲取下載地址,并根據(jù)所述下載地址下載所述目標(biāo)excel文件。
39、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的第二方面提出了一種excel文件導(dǎo)出裝置,所述裝置包括:
40、基礎(chǔ)結(jié)構(gòu)構(gòu)建模塊,用于基于預(yù)設(shè)結(jié)構(gòu)層級(jí)構(gòu)建excel表格的基礎(chǔ)結(jié)構(gòu),得到初始表格結(jié)構(gòu);
41、初始化配置模塊,用于根據(jù)所述初始表格結(jié)構(gòu)和預(yù)設(shè)的關(guān)鍵字段信息配置所述excel表格的關(guān)鍵字段,得到目標(biāo)配置表;
42、實(shí)體類生成模塊,用于根據(jù)所述目標(biāo)配置表進(jìn)行實(shí)體類生成處理,得到目標(biāo)載體;其中,所述目標(biāo)載體為實(shí)體類;
43、數(shù)據(jù)渲染模塊,用于根據(jù)所述目標(biāo)載體對(duì)金融業(yè)務(wù)數(shù)據(jù)進(jìn)行動(dòng)態(tài)渲染,得到目標(biāo)excel文件;其中,所述金融業(yè)務(wù)數(shù)據(jù)為文本數(shù)據(jù);
44、文件導(dǎo)出模塊,用于根據(jù)預(yù)先封裝的目標(biāo)對(duì)外接口導(dǎo)出所述目標(biāo)excel文件。
45、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的第三方面提出了一種電子設(shè)備,所述電子設(shè)備包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述第一方面所述的excel文件導(dǎo)出方法。
46、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的第四方面提出了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述第一方面所述的excel文件導(dǎo)出方法。
47、本技術(shù)提出的excel文件導(dǎo)出方法和裝置、電子設(shè)備及存儲(chǔ)介質(zhì),其通過構(gòu)建預(yù)設(shè)結(jié)構(gòu)層級(jí)之間的關(guān)系,綁定excel表格的取數(shù)接口,并構(gòu)建操作excel表格的底層配置,完成excel表格的基礎(chǔ)結(jié)構(gòu)構(gòu)建,得到初始表格結(jié)構(gòu),根據(jù)初始表格結(jié)構(gòu)依次篩選excel表格的預(yù)設(shè)結(jié)構(gòu)層級(jí),根據(jù)金融業(yè)務(wù)項(xiàng)目預(yù)先配置相應(yīng)的的關(guān)鍵字段信息,根據(jù)關(guān)鍵字段信息依次對(duì)預(yù)設(shè)結(jié)構(gòu)層級(jí)配置相應(yīng)的關(guān)鍵字段,得到目標(biāo)配置表,根據(jù)目標(biāo)配置表生成相應(yīng)的實(shí)體類,得到目標(biāo)載體,獲取金融業(yè)務(wù)項(xiàng)目的文本數(shù)據(jù),通過目標(biāo)載體導(dǎo)出相應(yīng)的組件,根據(jù)導(dǎo)出的組件對(duì)獲取的金融業(yè)務(wù)數(shù)據(jù)進(jìn)行動(dòng)態(tài)渲染,自動(dòng)生成相應(yīng)的目標(biāo)excel文件,根據(jù)預(yù)先封裝的目標(biāo)對(duì)外接口將目標(biāo)excel文件導(dǎo)出。通過預(yù)設(shè)結(jié)構(gòu)層級(jí)構(gòu)建excel表格的基礎(chǔ)結(jié)構(gòu)構(gòu)建,得到初始表格結(jié)構(gòu),根據(jù)初始表格結(jié)構(gòu)和預(yù)設(shè)的關(guān)鍵字段信息配置excel表格相應(yīng)的關(guān)鍵字段,得到目標(biāo)配置表,根據(jù)目標(biāo)配置表生成相應(yīng)的實(shí)體類,得到目標(biāo)載體,根據(jù)目標(biāo)載體導(dǎo)出的組件對(duì)獲取的金融業(yè)務(wù)數(shù)據(jù)進(jìn)行動(dòng)態(tài)渲染,自動(dòng)生成相應(yīng)的目標(biāo)excel文件,根據(jù)預(yù)先封裝的目標(biāo)對(duì)外接口導(dǎo)出目標(biāo)excel文件,能夠基于金融業(yè)務(wù)項(xiàng)目的需求和目標(biāo)配置表的配置規(guī)范自動(dòng)生成excel文件,進(jìn)而減少重復(fù)代碼的編寫,提高復(fù)雜的excel文件導(dǎo)出的效率,降低人力資源的浪費(fèi)。