亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        不良模糊化實現(xiàn)在企業(yè)管理軟件中的應用

        2011-10-26 06:20:28孫晶
        中國科技信息 2011年11期
        關鍵詞:單元格信息管理系統(tǒng)對象

        孫晶

        新疆石油勘察設計研究院信息中心 834000

        不良模糊化實現(xiàn)在企業(yè)管理軟件中的應用

        孫晶

        新疆石油勘察設計研究院信息中心 834000

        在企業(yè)辦公系統(tǒng)中,常常有用戶需要將報表直接用Excel打開或者是習慣于通過Excel對報表進行打印。Apache的POI項目,目標是處理OLE2對象,目前比較成熟的是HSSF接口,處理MS Excel(97-2003)對象,以及新開發(fā)的XSSF接口,處理MS Excel(2007)對象。它不像我們僅僅是用CSV生成的沒有格式的,僅由Excel轉(zhuǎn)換而來的東西,而是真正的Excel對象,你可以控制一些屬性如shell、cell等等。

        第2代對象鏈接和嵌入技術(shù) ;文件輸入流;數(shù)據(jù)轉(zhuǎn)移

        OLE2(Object Linking and Embed;dfiinleg )I nput Stream ; data transfer

        1 POI框架介紹

        1.1 POI實現(xiàn)背景及其目的

        市場上Microsoft Excel得到了廣泛接受以用于簡單的數(shù)據(jù)存儲和操作。其允許非技術(shù)上的熟練用戶在易于使用且功能強大的基于GUI的應用程序中輸入以及操作數(shù)據(jù)。然而,偶爾也必須將Excel電子表格中所駐留的數(shù)據(jù)適配于其他用途,將其進行廣泛分布、頻繁更新,或由一個大型用戶群來訪問。而這些功能都是Excel設計中所沒有提供的。另一方面,最好是能夠利用Microsoft Excel中已開發(fā)的商務用戶的知識和技能以及關系數(shù)據(jù)庫存儲模型固有的功能和分布式特性。通過利用Apache的POI和HSSF等來促進Excel與Oracle數(shù)據(jù)庫之間的集成,我們將逐漸實現(xiàn)這些目標。

        1.2 POI構(gòu)成簡述及其優(yōu)點

        P O I代表P o o r O b f u s c a t i o n Implementation,即不良模糊化實現(xiàn),它的目標就是提供一組Java API來使得基于Microsoft OLE2Compound Document格式的Microsoft Office文件易于操作。一些POI API僅僅是為最常用的Microsoft Office文件Word和Excel而開發(fā)的;而其他的API則是用于通用的OLE 2Compound Document和屬性文件。

        POI子項目包括:POIFS、HSSF、HDF、HPSF

        (1)滿足需求:可創(chuàng)建使用HSSF的工具來自動化同步以及Excel緊密集成。

        (2)維護:易受數(shù)據(jù)庫模式更改的影響,但獨立于Excel的功能。

        (3)成本:取決于所需功能,在編程工作上可能需要投入大量的時間和金錢。

        (4)利用:利用整個Java API和POI后續(xù)開發(fā)包

        (5)自動化:Java API支持自動化。

        1.3 POI處理過程概述

        首先需要下載POI的包,可以到apache的官網(wǎng)上下載,目前最新發(fā)布的資源包是poi-3.7-beta3.jar、poi-ooxml-3.7-beta3. jar。POI對Excel的操作可概括為導入與導出,即讀數(shù)據(jù)與寫數(shù)據(jù)。

        1.3.1 導入一個Excel文件

        導入Excel時,可通過Java API中的正則表達式識別要導入的文件擴展名是“xls”還是“xlsx”,前者需要調(diào)用POI中的HSSF接口來讀取文件,如果是后者則是用POI中的XSSF接口讀取文件。

        圖1 讀取Excel文件的流程

        FileInputStream屬于Java API的數(shù)據(jù)輸入流對象。在通過HSSF或XSSF接口獲取到工作簿W(wǎng)orkbook對象,再通過工作簿W(wǎng)orkbook獲取第一個報表Sheet對象,再通過Sheet李的方法getPhysicalNumberOfRows ()得到報表總行數(shù)t o t a l R o w s和方法getPhysicalNumberOfCells()得到報表總列數(shù)。經(jīng)過循環(huán)迭代后得到每個單元格Cell對象,進而得到單元格中的數(shù)據(jù)。

        1.3.2 導出一個Excel文件

        我們以創(chuàng)建一個2003版即擴展名是xls的excel文件為例,程序代碼如下:

        FileOutputStream屬于Java API的數(shù)據(jù)輸出流對象。通過它來將一個名為test.xls文件創(chuàng)建在C盤根目錄下,運行該輸出程序后可以看到C盤上的根目錄上多了一個Excel文件。如果將程序中的FileOutputStream(“C: \test.xls”)的參數(shù)改為“test.xls”,則文件就會創(chuàng)建在該項目的根目錄下。在往Excel單元格里寫入信息時,依然遵從自定向下的關系,即:工作簿→(HSSFWorkbook)→表格(HSSFSheet)→表格行(HSSFRow)→單元格(HSSFCell)。將數(shù)據(jù)庫中表的數(shù)據(jù)導入到Excel中,首先我們要先將數(shù)據(jù)庫中的表的數(shù)據(jù)查詢出來,這里通過Hibernate將數(shù)據(jù)庫某個表中的數(shù)據(jù)查詢出來,然后通過循環(huán)將表中的數(shù)據(jù)寫入Excel中去。我們可以一個目前我院正在使用的管理系統(tǒng)為例。

        2 POI框架在人員基礎信息管理系統(tǒng)中的運用

        2.1 人員基礎信息管理系統(tǒng)介紹

        隨著電腦的普及與使用,現(xiàn)在的管理也提升了一個檔次,漸漸實現(xiàn)了無紙化辦公,即從原來的人工記錄管理模式轉(zhuǎn)變?yōu)殡娔X一體化管理。人力資源是社會生產(chǎn)的必要先決條件,充足的人力資源有利于生產(chǎn)的發(fā)展。我院近年來陸續(xù)招聘了大批青年人才,使得設計力量逐漸發(fā)展壯大,隨著人數(shù)的增加,數(shù)據(jù)量的擴增,流動數(shù)據(jù)不能及時處理,信息查詢效率低,信息不能及時反饋更新。為了加強對人才的管理,提高相關部門的業(yè)務管理和事務處理效率,建立完備可靠和開放的系統(tǒng),我們開發(fā)了人員基礎信息管理系統(tǒng)。

        人員基礎信息管理系統(tǒng),是以企業(yè)對人力資源的管理方式為實例而設計的一種實用型管理系統(tǒng)。本系統(tǒng)的特點是通用性、簡單操作性,適用于同行業(yè)以及一些同類型的企業(yè)管理。不但讓人力資源部的管理人員從繁重的工作中解脫出來,而且由于是自主研發(fā),降低了開發(fā)成本,滿足了我院的需求。

        2.2 數(shù)據(jù)批量轉(zhuǎn)移在此系統(tǒng)中存在的必要性

        軟件從對新員工的加入后,便可對其信息進行永久維護。主要包括:基本信息(姓名、年齡、出生、科室、照片等)的新增與修改、員工科室調(diào)動、科室信息新增與修改、員工的在職和離崗等等。最關鍵的是當有其他系統(tǒng)需要大量調(diào)用員工信息時,通過批量導出功能可將員工信息以Excel表格的形式批量保存出來,有利于外部人員的統(tǒng)計工作。這一功能就由POI框架來實現(xiàn)。其效果如圖2。

        選擇要導出的部門,再點擊工具欄中的“導出”按鈕。會出現(xiàn)提示保存的界面,默認保存為Excel(97-2003)格式。表格可以羅列出每個人的信息,包括:民族、部門、辦公室電話、郵箱等。只需對這些數(shù)據(jù)稍作相關字段的調(diào)整,便可被其他管理軟件所使用,提高了辦事效率。

        2.3 數(shù)據(jù)轉(zhuǎn)移過程

        我們選擇Hibernate3.2作為對象/關系映射的解決方案,由它負責Java對象和關系數(shù)據(jù)之間的映射。通常通過poi.jar中的HibernateUtil.java設計數(shù)據(jù)庫中的字段,并進行文件配置,在這里可根據(jù)要開發(fā)的系統(tǒng)實際需求自行編寫一個ExportUtil.java,根據(jù)Excel的模板,將存放數(shù)據(jù)序列的變量data中的信息與模板中的模板變量進行融合,返回合并后Excel文件的輸出流。在Excel的模板中,使用第一個sheet。模板變量所在行必須連續(xù),當遇見空cell時,將不分析后面的cell。因為Excel的模板文件支持xls和xlsx兩種文件格式。 輸出的Excel以模板文件的格式為準。即模板是xls輸出也是xls,模板是xlsx輸出也會是xlsx。如果data為null或者size為0,則返回的excel中沒有數(shù)據(jù),即將模板變量對應的單元格置為空。

        圖4 數(shù)據(jù)庫系統(tǒng)的組成

        3 關鍵問題的解決方案

        3.1 識別用戶數(shù)據(jù)的模板變量

        我們在WEB系統(tǒng)的頁面上所看到的諸如“姓名”、“部門簡稱”、“職稱”等字段名下的內(nèi)容,實際是通過模板變量進行輸出。根據(jù)數(shù)據(jù)傳輸協(xié)議變量必須為英文,因此變量名不能為中文,并且不同字段名的模板變量也不同,我們將變量定義為“{name}”、“{dept.name}”等,程序會通過識別“{}”內(nèi)的名字來找到數(shù)據(jù)庫中對應字段的內(nèi)容,并將它取出。其程序如下:

        3.2 驗證Excel合法性

        討論了導出Excel要面臨的問題后,再來看一下如果要導入Excel文件時需要注意的問題。因為poi開發(fā)包對2003版Excel和2007版Excel使用的是不同的子項目HSSF和XSSF,生成的工作簿對象也不相同,如果不判斷出是哪個版本的Excel,就無法讀取Excel中的內(nèi)容。因此在讀取文件輸入流時需要先對文件輸入流(FileInputStream)進行判斷。判斷程序如下:

        得到了合法的輸入流(fileInputStream)后,便可得到對應工作簿(Workbook)對象,根據(jù)1.3.1節(jié)介紹的讀取文件流程,通過判斷每個單元格(Cell)中內(nèi)容的格式,正確的輸出數(shù)據(jù)。常用的格式有:CELL_TYPE_NUMERIC( 數(shù)字型)、CELL_TYPE_FORMULA( 公式型)、CELL_TYPE_STRING( 字符串型)、CELL_TYPE_BOOLEAN( 布爾型),數(shù)字型時還應判斷是否日期格式,否則輸出內(nèi)容有誤。

        4 結(jié)論

        POI框架已應用于我院運行的主要WEB管理系統(tǒng),包括設計流程管理系統(tǒng)、檔案管理系統(tǒng)、人員基礎信息管理系統(tǒng),以及正在開發(fā)階段的人工時考核系統(tǒng),其適應性可見一斑,穩(wěn)定性得到考驗,并且相對其他開發(fā)包如JXL只能讀取(97-2003)Excel文檔的缺陷,POI框架還可讀取2007版以上的Excel文檔,可對單元格的具體屬性進行編輯,具有廣泛通用性。目前國外的POI框架創(chuàng)作小組還在不斷更新其功能,擴展性很強,未來在各類管理系統(tǒng)中的應用前景必將是一片光明。

        Poor Obfuscation Implementation base on the application in Enterprise Management Software

        Sun Jing
        Information Center, Department of Equipment, Xinjiang Petroleum Investigation Design and Research Institute, Xinjiang 834

        In Enterprise Office System, the user often read report by Excel or used to print it by Excel. The POI project of Apache what purpose is deal with the object of OLE2has established technique what the interface of HSSF that deal with the object of Excel for 2003edition, and the interface of XSSF that deal with the object of Excel for 2007edition. It doesn’t like something converted by Excel and generated to formless by CSV for us, b’ust ait real object of Excel that you can control some attribute such as shell, cell and so on.

        10.3969/j.issn.1001-8972.2011.11.112

        圖2 顯示人員信息界面

        圖3 導出的指定科室人員名單

        孫晶(1983-),男,新疆石油勘察設計研究院信息中心工作,現(xiàn)主要從事Java語言web開發(fā)。

        猜你喜歡
        單元格信息管理系統(tǒng)對象
        神秘來電
        睿士(2023年2期)2023-03-02 02:01:09
        三維可視化信息管理系統(tǒng)在選煤生產(chǎn)中的應用
        信息管理系統(tǒng)在工程項目管理的應用
        玩轉(zhuǎn)方格
        玩轉(zhuǎn)方格
        基于三維TGIS的高速公路綜合信息管理系統(tǒng)
        淺談Excel中常見統(tǒng)計個數(shù)函數(shù)的用法
        西部皮革(2018年6期)2018-05-07 06:41:07
        攻略對象的心思好難猜
        意林(2018年3期)2018-03-02 15:17:24
        基于熵的快速掃描法的FNEA初始對象的生成方法
        區(qū)間對象族的可鎮(zhèn)定性分析
        欧洲日本一线二线三线区本庄铃| 蜜桃视频一区二区三区四| 精品人无码一区二区三区| 欧洲熟妇色xxxx欧美老妇多毛| 国产羞羞视频在线观看| 一区二区三区四区亚洲综合| 手机在线免费观看av不卡网站| 国产太嫩了在线观看| 波多野吉衣av无码| 免费大学生国产在线观看p| 蜜桃在线高清视频免费观看网址 | 欧美乱大交xxxxx潮喷| 成人做爰高潮尖叫声免费观看| 亚洲午夜看片无码| 精品麻豆一区二区三区乱码| 久久精品国产99国产精品亚洲| 国产欧美亚洲精品a| 欧美深夜福利视频| 亚洲天堂av一区二区三区不卡| 99久久99久久久精品齐齐| 无码熟熟妇丰满人妻啪啪| 亚洲 美腿 欧美 偷拍| 在线观看午夜视频国产| 国产精品爽爽v在线观看无码| 国产在线手机视频| 亚洲中文字幕诱惑第一页| 国产精品女老熟女一区二区久久夜| 无码日韩精品一区二区三区免费| 亚洲中文字幕在线爆乳| 久久久精品久久久国产| а天堂中文在线官网在线| 亚洲熟妇无码av另类vr影视| 免费人成视频欧美| 91盗摄偷拍一区二区三区| 影音先锋男人av鲁色资源网| 国产手机在线αⅴ片无码| 午夜在线观看一区二区三区四区| 国产免费牲交视频| 国产69精品久久久久9999| 少妇特殊按摩高潮惨叫无码| 国产成人精品一区二三区孕妇|