• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    淺談PDMS報表輸出開發(fā)

    2019-12-26 03:21:42羅智平
    石油化工自動化 2019年6期
    關(guān)鍵詞:類庫調(diào)用內(nèi)置

    羅智平

    (中國化學(xué)工程集團有限公司,北京 100007)

    PDMS是目前國內(nèi)三維工程設(shè)計的主流軟件之一,在石油化工領(lǐng)域,其市場占有率達到70%,該軟件基于數(shù)據(jù)庫支持,在三維工廠模型設(shè)計完成后,可以直接提取工程數(shù)據(jù)并輸出各種設(shè)計報表和材料表。同時,PDMS也支持客戶化定制開發(fā),可以通過適當(dāng)?shù)亩涡薷?,實現(xiàn)自動化輸出各種設(shè)計成品報表。

    本文根據(jù)實際工作中的開發(fā)案例,簡要介紹PDMS程序化輸出Excel格式報表文件的三種開發(fā)思路和方法。

    1 目前PDMS支持的開發(fā)語言和技術(shù)

    PDMS軟件擁有面向?qū)ο蠛暾Z言PML的開發(fā)能力,隨著技術(shù)的不斷迭代更新,目前新版PDMS在支持自身的PML語言的基礎(chǔ)上,引入了微軟的.NET技術(shù),確保用戶可以使用.NET技術(shù)進行開發(fā)定制工作。

    報表輸出是PDMS重要的功能之一,利用PDMS的開發(fā)能力,配合工程需要,進行一定的開發(fā),可以實現(xiàn)自動化輸出,能有效提高報表輸出的工作效率。本文將基于輸出材料表的開發(fā)演示來介紹如何利用PDMS的開發(fā)能力提高工作效率。

    1)PML直接開發(fā)CSV格式輸出。

    2)PML調(diào)用PDMS內(nèi)置Excel接口輸出。

    3)PML調(diào)用第三方C#類庫輸出。

    2 開發(fā)示例介紹

    2.1 PML直接開發(fā)CSV格式輸出

    在開發(fā)CSV格式輸出時,直接使用PML語言編寫程序,收集工程對象的相關(guān)屬性并按要求完成整理,然后輸出成CSV格式的報表文件,可以用Excel格式的文件直接打開。程序處理的流程如圖1所示。

    圖1 PML語言編寫程序處理流程示意

    在PDMS中選定一個管道對象,運行上述代碼就可以生成CSV文件。

    2.2 PML調(diào)用PDMS內(nèi)置Excel接口輸出

    從PDMS 12.0版本開始,軟件增加了Grid control對象支持,該對象是PDMS官方的Excel接口,利用該接口,可以直接生成Excel文件,程序處理流程如圖2所示。

    圖2 PML調(diào)用PDMS內(nèi)置Excel接口輸出程序處理流程示意

    上述兩種方法是完全利用PDMS內(nèi)置功能支持完成Excel格式文件輸出開發(fā)工作,可以滿足初級的報表文件輸出需求。如果要生成符合標(biāo)準(zhǔn)體系要求的Excel報表成品文件,上述方法生成的文件還需要增加人工干預(yù)的格式修改工作。

    2.3 PML調(diào)用第三方C#類庫輸出

    PMLNET也是PDMS 12.0版本之后提供的新功能。通過支持微軟的.NET開發(fā)技術(shù),讓PDMS可以使用任意一種兼容.NET的開發(fā)語言,由此給PDMS帶來了非常靈活的定制開發(fā)能力。該方法可以程序化干預(yù)輸出報表的格式修訂,實現(xiàn)一次性輸出滿足標(biāo)準(zhǔn)體系要求的成品文件,可以直接用于打印。PMLNET的原理示意如圖3所示。

    圖3 PMLNET原理示意

    圖3中左側(cè)是PDMS,信息的收集和處理如前面兩種方法在PDMS內(nèi)部處理,右側(cè)是利用第三方的C#類庫開發(fā)出來的PMLNET類庫(類庫名為Exceladapter),供PDMS調(diào)用相關(guān)的函數(shù)即可。本文中Exceladapter調(diào)用的第三方的Excel類庫的名字是Aspose.cells,一個專門用于處理Excel文件讀寫的插件,可以實現(xiàn)技術(shù)人員需要的全部定制功能。

    PDMS內(nèi)置的PML程序和PMLNET類庫之間可以通過表1中的5種類型變量進行雙向數(shù)據(jù)傳遞。

    表1 PML程序和PMLNET類庫對照

    在這里技術(shù)人員將編寫1個Exceladapter.dll中間件,這個中間件負責(zé)搭建PML程序和Aspose.cells.dll程序庫的溝通橋梁,程序處理流程如圖4所示。

    圖4 利用Exceladapter中間件后的程序處理流程示意

    使用該方法開發(fā)的Excel輸出程序可以實現(xiàn)對輸出文件全方位的定制。PDMS內(nèi)置的模式1無法將多個SHEET合并到1個Excel表內(nèi);內(nèi)置的模式2輸出的數(shù)字信息是以字符串格式保存,這樣會導(dǎo)致管件數(shù)量無法直接匯總。以上2種PDMS內(nèi)置的模式都無法進行Excel文件格式的定制,無法滿足作業(yè)指導(dǎo)書的要求。

    PDMS程序化輸出Excel格式報表的3種方法的特點比較見表2所列。

    表2 PDMS程序化輸出Excel格式

    3 結(jié)束語

    PDMS平臺規(guī)范的數(shù)據(jù)庫存儲和網(wǎng)絡(luò)并行工

    作能力,大幅提高了設(shè)計過程中的工程信息的質(zhì)量和流轉(zhuǎn)效率。在應(yīng)用PDMS過程中,應(yīng)加大對設(shè)計數(shù)據(jù)的重視,并以適當(dāng)?shù)拈_發(fā)工作提高PDMS平臺的數(shù)據(jù)處理能力,自動化輸出各種報表文檔,以降低在完成三維模型設(shè)計后,生成最終成品電子文檔階段的人工時投入,對整個項目設(shè)計數(shù)據(jù)一致性和人工成本的控制有較大的幫助。

    利用PMLNET混合開發(fā)模式,借助微軟的.NET開發(fā)平臺,使用現(xiàn)有的C#類庫助力PDMS開發(fā)工作,會產(chǎn)生良好的效果。該開發(fā)模式既可以利用現(xiàn)有的PML開發(fā)能力讀取和處理PDMS數(shù)據(jù)庫,又能利用C#類庫完成輸出定制和外部數(shù)據(jù)輸入讀取,形成優(yōu)勢互補,是一種高效開放的開發(fā)模式。

    猜你喜歡
    類庫調(diào)用內(nèi)置
    內(nèi)置加勁環(huán)T型管節(jié)點抗沖擊承載力計算
    用Java編寫客戶機/服務(wù)器端應(yīng)用程序
    核電項目物項調(diào)用管理的應(yīng)用研究
    Python在數(shù)據(jù)可視化中的應(yīng)用
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    芯片內(nèi)置測試電路的設(shè)計
    電子測試(2018年14期)2018-09-26 06:04:00
    數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革方案和應(yīng)用效果
    軟件工程(2017年12期)2018-01-29 17:35:55
    數(shù)據(jù)結(jié)構(gòu)可視化類庫的設(shè)計與實現(xiàn)
    基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
    內(nèi)置管腸排列術(shù)治療嚴(yán)重粘連性腸梗阻的臨床分析
    济阳县| 南充市| 平塘县| 科技| 安国市| 江陵县| 兴文县| 扬州市| 宁强县| 本溪市| 鄂温| 江永县| 卓尼县| 叶城县| 平原县| 饶河县| 右玉县| 涿鹿县| 阳城县| 丹寨县| 仁布县| 金华市| 镇原县| 汝城县| 托克逊县| 富锦市| 新邵县| 通辽市| 明光市| 镇宁| 东乌珠穆沁旗| 河间市| 安达市| 静乐县| 五大连池市| 西丰县| 浦东新区| 林甸县| 商都县| 平塘县| 丽水市|