本文介绍通过C#调用minitab com组建自动化生成报表的方法。
首先需要在minitab中通过手动配置的方式生成报表来得到该报表的命令行,过程如下
- 选择菜单“编辑器”-》“启用命令”启用命令窗口
- 在工作表中输入数据,并按需求配置并生成需要的报表
- 拷贝出会话窗口中生成该报表的命令行
得到所需的mimitab命令后就可以在C#中通过调用minitab执行该命令得到对应的报表了,过程如下
- 新建C#工程,并把名为Mtb 17.0 Type Library的COM库加入到该工程的引用
- 执行以下代码,即可根据输入的数据生成对应的报表
-
static void Main(string[] args) { try { foreach (Process proc in Process.GetProcessesByName("Mtb")) { proc.Kill(); } } catch (Exception ex) { } Mtb.Application MtbApp = new Mtb.Application(); MtbApp.UserInterface.Visible = true; Console.WriteLine("Status = " + MtbApp.Status); Console.WriteLine("LastError = " + MtbApp.LastError); Console.WriteLine("Application Path = " + MtbApp.AppPath); Console.WriteLine("Window Handle = " + MtbApp.Handle); Mtb.Project MtbProj = MtbApp.ActiveProject; /* Mtb.Columns MtbColumns = MtbProj.ActiveWorksheet.Columns; Mtb.Column MtbColumn1 = MtbColumns.Add(null,null,1); MtbColumn1.Name = "缺陷项"; String[] data1 = {"虚焊","漏焊","强度不够","外观受损","其他"}; MtbColumn1.SetData(data1); Mtb.Column MtbColumn2 = MtbColumns.Add(null, null, 1); MtbColumn2.Name = "数量"; Double[] data2 = { 500, 300, 200, 150, 160}; MtbColumn2.SetData(data2);