彩票走势图

用C#制作Excel AddIn的方法介绍(下)

原创|其它|编辑:郝浩|2010-03-02 11:32:17.000|阅读 1626 次

概述:朋友所在工厂的质量部每天需要检测大量的产品零部件,并且要把检测的数据制作成报表,这是QC测量员的日常工作。由于最近公司的订单增多,生产任务的增多也导致测量员每天需要检测大量的产品零件,产生大量的测量数据。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

  这里有一个技巧。如果menuTop或menuCreateMail 在AddMenu方法中定义,会导致Excel打开后,多次点击按钮事件,它只执行一次。除非你重新启动EXCEL。

  点击菜单“Import Data”的事件代码如下


 void buttonMenu_Click(Microsoft.Office.Core.CommandBarButton Ctrl, ref bool CancelDefault)
  {
  //分析CSV文件,设置指定报表列的值
  }

  代码比较长。首先是弹出对话框,选择要导入的包含测量数据的文件,分析并导入值。

  导入值的代码涉及到操作EXCEL,代码如下


 Excel.Worksheet sheet = (Excel.Worksheet)Application.ActiveWorkbook.ActiveSheet;
  int rowIndex = 10; int maxIndex = 300;
  for (rowIndex = 10; rowIndex < maxIndex;rowIndex++ )
  {
  Excel.Range source = sheet.get_Range("A" + rowIndex, "A" + rowIndex);
  Excel.Range target = sheet.get_Range("F" + rowIndex, "F" + rowIndex);
  if (String.IsNullOrEmpty(source.Value2.ToString()))
  continue;
  else
  {
  string hashkey = source.Value2.ToString();
  if (table.Contains(hashkey))
  target.Value2 = table[hashkey].ToString();
  }
  }

  table的类型是Hashtable,它以零件名作键名,零件的测量数据为值。

  读取文件的代码也有点技巧。我的机器是XP SP2英文版,Excel是2003的英文标准版。如果以COM Interop API读取数据文件,把数据文件当作EXCEL文件来读取,会经常出现乱码,如果是以文本文件的方式读取数据文件,则没有任何问题。这个问题我一直找不到原因。

  下面说一下怎样部署这个插件 以下几个步骤是必须的,而且要以管理员身份才能执行以下步骤

  1 在目标机器上,安装 .net Framework 2.0 //www.microsoft.com/downloads/details.ASPx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en

  2 安装Office 2007 PIAs

  //www.microsoft.com/downloads/details.aspx?familyid=59DAEBAA-BED4-4282-A28C-B864D8BFA513&displaylang=en

  3 安装 VSTO Runtime 2.0:

  //www.microsoft.com/downloads/details.aspx?FamilyId=4468D8CB-B43E-4B09-82F6-8BA3F7B5E935&displaylang=en#filelist

  4 确保EXCEL 2003已经打上了SP2补丁,否则请安装SP2补丁

用C#制作Excel AddIn的方法介绍

  5  编译安装项目,并执行,完成插件的安装。

用C#制作Excel AddIn的方法介绍

  6  到安装插件的目录,执行命令行工具,设置程序集的权限(程序集名字为QCExcelAddIn)


  cASPol -machine –addfulltrust  QCExcelAddIn.dll

  经过这几步,打开EXCEL,应该可以看到插件的菜单。如果仍然看不到菜单,看是不是插件被EXCEL禁用. 在DisalbeItems中把插件激活。

用C#制作Excel AddIn的方法介绍

  至此,这个问题圆满解决。经过一段时间的使用,测量员要求修改一下测量数据的文件格式,如下图

用C#制作Excel AddIn的方法介绍

  解析这种格式的代码比较简单,直接用正则式分解字符串即可,而上面的那个版本的格式还需要判断是奇数行还是偶数行,奇数行取零件名称,偶数行读取测量数据。

  关于这个插件的注册信息,在注册表中有相应的键值对说明

  插件所在的注册表键的路径是

用C#制作Excel AddIn的方法介绍

  值如下图所示

用C#制作Excel AddIn的方法介绍

  也许这个办法也不是最优化的办法,欢迎提供您的思路供大家参考学习。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:网络转载

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP