化工厂生产信息系统设计与实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

string thisCell=StartCellIndex; int DotIndex= thisCell.IndexOf("."); int Y =Convert.ToInt32 (thisCell.Substring (0, DotIndex)); int X =Convert.ToInt32 (thisCell.Remove (0, DotIndex + 1)); int RowSum=ds.Tables[0].Rows.Count; //填充数据行总数 int ColumnSum=ds.Tables[0].Columns.Count; //填充数据列总数 for (int i=0; i<RowSum; i++) { for (int k=0; k<ColumnSum; k++) { this.ThisExcel.Cells [Y +i,X +k] = ds.Tables [0]. Rows[i][k].ToString(); } } //数据填充区域 this.ThisCells = this.ThisExcel.get_Range (this. ThisExcel.Cells [Y,X],this.ThisExcel.Cells [Y +RowSum - 1,X +ColumnSum - 1]); this.SetBorders(this.ThisCells); this.ThisWorkbook.Save(); } ( 4) 输出 Excel 函数。 public void OutputExcel (string FileName,string type,HttpResponse Response) { DeleteExcelFile(); Response.Clear(); Response.Buffer= true; Response.Charset="utf- 8"; Response.AppendHeader ("Content - Disposition", type+";filename="+FileName); Response.ContentType= "Application/x- msexcel";
数字石油和化工 · 2007.8
37
技 术·!生 产
Response.BinaryWrite(Buffer); Response.End(); } 应用以上 4 个基本函数, 就可以将一个已经组 织好数据的数据集 ( DataSet) , 导入到相应的 Excel 模板中, 并且输出打印出来。例如: 在打印按钮中可 以如下编写, 即可顺利导出 Excel。 //打 开 预 先 设 置 好 的 命 名 为 Tj_tjfx_scqktz1.xls 的 Excel 模板。 ChartInExcel myReportInExcel [2] = new ChartInExcel("Tj_tjfx_scqktz1.xls"); //激活需要填入数据集的工作表 1。 myReportInExcel.ActivateSheet(1); //将组织好数据的 DataSet, 从工作表 1 的第 4 行第 1 列开始付值。 myReportInExcel.SetCellValue("4.1", DataSet); //最后将命名为 Tj_tjfx_scqktz1.xls 的 Excel 导出。
XlSaveAsAccessMode.xlNoChange,missing,missing, missing,missing);
} ( 2) 激活需要填入数据的 Excel 的工作表的函数。 public void ActivateSheet(int SheetsIndx) { Excel.Worksheet mySheet =(Excel.Worksheet) ThisWorkbook.Worksheets[SheetsIndx]; mySheet.Activate(); } ( 3) 填入数据集的函数。 public void SetCellValue (string StartCellIndex, DataSet ds) {
36
2007.8 · 数字石油和化工
技 术·!生 产
调用这个函数就可以了。 首 先 , 介 绍 ReportInExcel [1]类 的 几 个 主 要 的
函数。 ( 1) 打开导入数据的 Excel 模板的函数。 public ReportInExcel(string ExcelName) { this.ThisExcel = new Excel.Application (); this.ThisExcel.Application.DisplayAlerts=false; // 打开报表模板 this.path = Server.MapPath("ReportTemplates"); this.ReportTemplate= path +"\\"+ ExcelName; this.ThisExcel.Application.Workbooks.Open
(ReportTemplate,missing,missing,missing,missing, missing,missing,missing,missing,missing,missing, missing,missing);
// 保存临时报表 this.ThisWorkbook=this.ThisExcel.Workbooks[1];
myReportInExcel.OutputExcel ("Tj_tjfx_scqktz1. xls","attachment",this.Response);
2.2.2 生成图形的方法 上面是生成表格的方法, 下面简单介绍一下, 如 何根据上面的表格中的数据, 动态生成曲线图、饼图 或者是柱状图。下面以化工信息项目中计划统计部 分的装置生产情况柱图为例, 来详细说明一下生成 的过程。 ( 1) 首先同样需要激活 Excel 所在的工作表。然 后 利 用 charts.Add 语 句 在 计 划 好 的 区 域 添 加 chart 图( 柱状图) 。例如: //在工作表距左 0mm, 距上 0mm 的地方, 添加宽 300, 高 200 的 chart 图。
} } ( 2) 对于每一个需要维护的表, 统一生成模板
( 即同一写成一个标准的类) , 其中包括添加、删除、 保存、更新等一些基本的操作。这样可以大大降低编 码的工作量。
2.2 系统功能的实现 化工生产信息系统( 计划统计部分) 包括生产计 划 部 分 、生 产 统 计 部 分 、统 计 分 析 部 分 、节 能 情 况 部 分 、原 料 情 况 部 分 、预 算 情 况 部 分 等 内 容 。 其 中 又 以 灵活的报表及图形为主要的表现形式, 这些基于数 据库的报表, 可以帮助企业的高层管理者、中层人员 和不同岗位上的员工方便地通过各类报表, 获得企 业不同数据库中的数据, 进行整理、汇总、分析, 有效 进行企业绩效管理, 透视企业运行情况。 通过采用业内最先进的新一代的报表模型和方 便易用的类 EXCEL 设计方法, 使用户可以轻松完成 各类复杂报表的设计, 特别是真正实现了由用户灵 活地自行进行报表的设计与修改, 随时适应业务的 发展和管理的需求。 报表提供了强有力的报表展现功能, 可以生成 并显示各种复杂格式的报表, 可以实现精确打印, 还 可以生成柱图、饼图、折线图等十几种图表。 其核心技术为 EXCEL 表格的方法 以 及 图 形 的 方法。 2.2.1 生成表格的方法 将数据库的数据或要 打 印 的 内 容 导 出 到 Excel 中去打印。使用这种方法, 可以在服务端进行, 但必 须要求服务端要安装 Excel。在服务器上发布的根目 录下建立一个文件夹, 命名为 ReportTemplates, 里面 放置 Excel 模板, 即是一个已经命名完毕的空 Excel, 整个对 Excel 的操作设置都可以在程序中进行。但是 为了简化程序, 对于比较固定的报表, 可以画好标题、 表头以及一切页面设置, 这样程序更加简单快捷。 在 asp.net 的解决方案中, 建立一个公共类, 命 名为 ReportInExcel, 这是一个打印 Excel 都必须用到 的类, 其中包括各种对 Excel 的操做, 例如: 合并单元 格, 激活工作表, 设置边框, 数据及导入, 输出 Excel 等等。这样, 每一个打印报表的页面根据不同的需要
_MyConnection;} } public DataConn() { _MyConnection =new OleDbConnection (@"
Provider =MSDAORA.1;Password =*****;User ID = administrator;Data Source=zcrlzy");
this.Report =System.IO.Path.Combine (this.path, DateTime.Now.ToString ("yyyyMMdd - HHmmss") + ". xls");
this.ThisWorkbook.SaveAs (this.Report,missing, missing,missing,missing,missing,Excel.
技术
பைடு நூலகம்
□" 生产 □" 管理技术·!生产
化工厂生产信息系统设计与实现
■ 王晓枫 于飞 (大庆石化总厂信息技术中心 大庆石化总厂化工厂机动科 163711)
摘 要:本文主要阐述了化工厂生产信息系统的设计思路以及实现的主要技术。 关键词: 化工厂 生产信息系统 设计 实现 中图分类号: TP391
1. 系统的总体规划 1.1 设计目的 随着大庆石化改革开放步伐的不断加快, 给大 庆石化总厂化工厂增添了无限的生机, 为大庆石化 总厂化工厂稳定求发展提供了强有利的保证。在各 装置的安全生产过程中, 在产品的销售过程中生产 管理起着举足轻重的作用。目前化工厂计划科现有 系统已经不能满足用户当前的业务需求, 用户急需 一套功能完善的计划统计管理软件, 为此大庆石化 总厂决定开发 《大庆石化总厂化工厂生产信息管理 系统》( 简称化工生产信息系统) 。实现各装置的生产 数 据 、能 耗 数 据 、物 耗 数 据 、产 品 销 售 数 据 的 上 下 一 致。为生产的决策者、生产的指挥者提供及时准确的 信息依据。 1.2 采用的主要技术 ( 1) 依托大庆石化总厂主干网实现化工生产信 息高性能、安全可靠的计算机网络通讯; ( 2) 基于面向对象技术和 WINDOWS 操作界面, 方便检索和操作; ( 3) 采用 B/S 体系结构和 ORACLE 关系 数 据 库 技术, 实现信息的共享; ( 4) 采 用 当 今 较 为 流 行 的.NET C# 开 发 工 具 进
行系统开发; 1.3 主要功能 ( 1) 实现化工厂生产信息的微机化和远程化管
理, 实现信息集成, 更好地协调和掌握化工厂各套装 置生产运行情况;
( 2) 为各生产人员提供及时、可靠、一致的信息, 提供全面信息处理手段;
( 3) 网络传输, 减少人为误差, 降低传送时间, 加 速信息反馈;
( 4) 利用数据库技术, 实现数据共享, 提高数据的 完整性、一致性、安全性, 减轻业务人员的工作负担。
数字石油和化工 · 2007.8
35
技 术·!生 产
图1
实现而无需另外的支撑系统。 大致可按以下步骤来实现: ( 1) 建立一个公共类, 在其中编写一个公共调用
的函数, 该函数为连接数据库函数。源码如下: public class DataConn { protected OleDbConnection _MyConnection; public OleDbConnection MyConnect { get { return
1.4 系统结构( 见图 1)
2. 系统的具体实现 2.1 数据库的实现 化工厂生产信息系统的核心是数据库, 为此我 们选用当前世界上流行的关系数据库 Oracle 8.0 作 为后台数据库, Oracle 8.0 数据库具有很强的数据存 储和管理功能, 充分利用数据库提供的功能, 有效地 组织、管理数据是管理信息系统成败的关键技术。 系 统 采 用 OleDbConnection 接 方 式 实 现 与 数 据 库的直接连接, 即可以完全由相关的数据连接组件
相关文档
最新文档