zoukankan      html  css  js  c++  java
  • VSTO如何选定单元格

    最近在用VSTO做点小东西,一个意外的错误,让我发现了三种给单元格赋值的方法:

    前两种是用Range对象,而第三种只用Cell即可。

    先声明一个Range对象:

                Excel.Range xlRange = null;

    一、使用Worksheet中的get_Range()方法。

                xlRange = (Excel.Range)(globals.MyAddin.Application.ActiveSheet as Excel.Worksheet).get_Range(
                   (globals.MyAddin.Application.ActiveSheet as Excel.Worksheet).Cells[row, col + 4],
                    (globals.MyAddin.Application.ActiveSheet as Excel.Worksheet).Cells[row, col + 4]);

    此方法没有重载,所以选定一个单元格时特别麻烦。

    二、直接使用Worksheet中的Cells属性,将Cells强制转换为Range对象。           

                xlRange = (globals.MyAddin.Application.ActiveSheet as Excel.Worksheet).Cells[row, col + 4] as Excel.Range;
                xlRange.Value2 = accountname;

    此种方法就比较简单了,用的方法还都是Range中的方法。

    三、直接给Worksheet中的Cells赋值。

               (globals.MyAddin.Application.ActiveSheet as Excel.Worksheet).Cells[row, col + 4] = accountname;

    由于Cells是一个object类型,因此,不能得到Cells相关的属性和方法,我没有找到基于这个对象的具体的类型,但通过ActiveCells可以看出,肯定有这个类型的。但是可以直接给对象赋值,不管是String也好,还是其它类型,都可以。

    我之前的项目都用的第一种方法,但第三种方法最简便直接。

     

  • 相关阅读:
    JavaBean 与 EJB 的区别
    MFC选项卡的实现
    MFC的图片按钮
    windows 下使用 MinGW + msys 编译 ffmpeg
    在windows使用vs2008编译live555
    C89 和 C99 标准比较
    11.求二元查找树的镜像[MirrorOfBST]
    10.排序数组中和为给定值的两个数字[Find2NumbersWithGivenSum]
    9.链表中倒数第k个结点[FindReverseKthLinkedListNode]
    8.另类方法求1+2+...+n[AnotherMethodOfCalculateSumN]
  • 原文地址:https://www.cnblogs.com/saptechnique/p/1356832.html
Copyright © 2011-2022 走看看