• 
    

    
    

      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)重粘連性腸梗阻的臨床分析
      西城区| 辉县市| 修武县| 苏尼特左旗| 南皮县| 遵义县| 鹤岗市| 萨迦县| 彰武县| 始兴县| 佛坪县| 彭泽县| 徐闻县| 张家川| 泸溪县| 丘北县| 沙雅县| 汽车| 元江| 保康县| 肇庆市| 朝阳市| 新干县| 姜堰市| 磐石市| 牡丹江市| 永昌县| 宿州市| 河津市| 南岸区| 灵丘县| 绿春县| 西宁市| 合山市| 依安县| 宝山区| 抚州市| 屏东县| 嵊州市| 丰县| 乌兰县|