Interop Excel in PDMS

简介: Interop Excel in PDMS eryar@163.com Abstract. There are many data stored in Excel during the design procedure.

Interop Excel in PDMS

eryar@163.com

Abstract. There are many data stored in Excel during the design procedure. Read data from Excel can do some validation in PDMS, such as check the pressure for a given pipeline. Write Excel can make the MTO export automatically. So interop Excel in PDMS have practice significant. 

Key Words. PDMS, Excel, Infragistics, AVEVA .Net

1.Introduction

在工程设计过程中有很多数据都是存储在Excel中,在PDMS中如果能读取这些Excel数据,可以对模型做一些校验工作,如检查管道的设计压力、设计温度等属性。而写Excel则可用于全自动生成公司材料报表的实现,即生成可直接打印的材料表,不需要人为再去统计、分类,提高效率。由此可见,在PDMS中读写Excel具有重要意义。

因为AVEVA .Net支持C#的程序开发,目前在C#中读写Excel的常见方式有:

v OleDb:用这种方法读取Excel速度还是非常快的,但这种方法读取数据的时候不太灵活。这种方法是将Excel作为一个数据源,直接使用SQL语句获取数据。优点:读取方式简单,速度快;缺点:除了读取过程不太灵活之外,当Excel数据量很大时,会很占用内存,不过一般情况下还是非常不错的。

v COM组件:这种方式需要先引用Microsoft.Office.Interop.Excel。优点:可以非常灵活地读写Excel中的数据;缺点:读取速度较慢,当Excel中数据量稍大时,会非常耗时。

v NPOI方式:NPOI是一组开源的组件,优点是读取Excel非常快,操作方式灵活。缺点:只支持03版的xls,xlsx无法读取,最新版本的已经可以支持xlsx文件的读取了。

v Infragistics Excel:Infragistics Excel是Infragistics品牌.Net应用程序下操作Excel表格的组件,同样也是托管代码。Infragistics系列控件是一套很好很强大的控件,PDMS程序的界面应该就是这套控件开发的。Infragistics Excel读写Excel速度快,性能较好。

本文主要介绍如何使用Infragistics Excel组件对Excel进行读写操作。掌握基本方法之后,可以结合实际开发出更完善的程序,提高工作效率。


2.Reading/Writing Excel

Infragistics Excel的组件在PDMS的安装目录中可以找到,如下图所示:

wps_clip_image-10741

Figure 2.1 Infragistics Excel

根据PDMS版本的不同,使用的Infragistics版本也稍有不同。只要找到Infragistics中带有Excel应该就是了。C#的库一般命名规范,容易根据类名找到相关的用法。下面给出使用Infragistics读写Excel中的示例程序。

 

using  System;
using  System.Text;
using  System.Collections.Generic;

using  Infragistics.Excel;

namespace  ExcelTest
{
    
class  Program
    {
        
static   void  Main( string [] args)
        {
            readTest();

            writeTest();
        }

        
static   void  readTest()
        {
            Workbook aWorkbook 
=  Workbook.Load( " TestData.xls " );
            Worksheet aWorksheet 
=  aWorkbook.WindowOptions.SelectedWorksheet;

            Console.WriteLine(
" Reading Excel Test " );
            
for  ( int  i  =   8 ; i  <   60 ; i ++ )
            {
                Console.WriteLine(aWorksheet.GetCell(
" A "   +  i.ToString()).Value);
            }
        }

        
static   void  writeTest()
        {
            Workbook aWorkbook 
=   new  Workbook();
            Worksheet aWorksheet 
=  aWorkbook.Worksheets.Add( " Test " );

            Console.WriteLine(
" Writing Excel Test " );
            
for  ( int  i  =   1 ; i  <   10 ; i ++ )
            {
                aWorksheet.GetCell(
" A "   +  i.ToString()).Value  =   " test value  "   +  i.ToString();
            }

            aWorkbook.Save(
" TestBook.xls " );
        }
    }
}

读取Excel结果如下图所示:

wps_clip_image-19510

Figure 2.2 Reading Excel Result

写Excel结果如下图所示:

wps_clip_image-9525

Figure 2.3 Writing Excel Result

由上述示例可知,使用Infragistics来读写Excel还是很简单的。添加Infragistics Excel的引用后,可以打开其对象结构,查看下。根据这些类名及其相关函数,使用简单。


3.Conclusion

工程设计中的大部分数据都是在Excel中,且材料表之类的出版文件都是Excel形式。所以掌握使用程序对Excel进行读写,对提高办公自动化有重要意义。本文结合PDMS中的Infragistics控件来对PDMS中Excel的读写进行详细介绍。掌握方法后,也可以将这个控件应用到其他程序,前提是必须有Infragistics这套控件。

掌握Excel的读写方法,可以结合实际进行扩展,开发出功能更强大的程序。


4.References

1. Tsong Chen. C#读取Excel几种方法体会. 

http://www.cnblogs.com/Tsong/archive/2013/02/21/2920941.html

2. http://www.infragistics.com/samples/silverlight/infragistics-excel/overview

 

PDF Version: Interop Excel in PDMS

目录
相关文章
|
C# C++ Windows
PDMS call Operating System Command
PDMS call Operating System Command eryar@163.com 1.Introduction AVEVA提供了三种二次开发的方式:DARs, PML和AVEVA .Net(C#)。
2412 0
|
数据安全/隐私保护 Python
用python对文件内容进行加密的2种方式
这篇文章介绍了使用Python对文件内容进行加密的两种方式:利用`cryptography`库的Fernet对称加密和使用`rsa`库进行RSA非对称加密。
565 6
|
缓存 关系型数据库 MySQL
如何优化MySQL 8.0的性能?
【6月更文挑战第14天】如何优化MySQL 8.0的性能?
1881 5
|
数据库 项目管理 安全
AVEVA Plant(PDMS)数据库的保护
AVEVA Plant(PDMS)数据库的保护 eryar@163.com   以下内容摘自一网友邮件: ----- Original Message ----- Sent: Tuesday, September 25, 2012 9:46 PM Subject: PDMS项目管理 你好,看了你写的很多文章,大部分都是关于程序出图的设置,我想咨询你一个关于PDMS项目管理的问题,希望能够赐教。
2447 0
|
存储 Prometheus Cloud Native
Grafana 系列文章(十一):Loki 中的标签如何使日志查询更快更方便
Grafana 系列文章(十一):Loki 中的标签如何使日志查询更快更方便
|
开发工具
如何在小游戏使用键盘进行输入
本文主要内容是在微信小游戏制作工具中使用“键盘”插件,来实现玩家在小游戏中通过键盘进行输入操作的功能。
1757 0
如何在小游戏使用键盘进行输入
|
小程序
AVEVA PML二次开发之标注样式设置
AVEVA Draft Dimension Style eryar@163.com 在AVEVA Draft中可以标注尺寸,尺寸的标注也有一些样式。通过PML二次开发的小程序可以方便设置尺寸标注的样式。
1963 0
|
开发工具
PcfTranslator - Translate AVEVA PDMS to PCF
PcfTranslator - Translate AVEVA PDMS to PCF eryar@163.com Abstract. The Piping Component File(PCF) are text files containing component and routing information.
3543 0