zoukankan      html  css  js  c++  java
  • VSTOexcel编程 [待续] [12月5日更新,详见文档下面]

    最近比较闲了,考试也快要到了。但是编程技术方面还是不能掉啊.

    现在开始VSTO编程之旅了。这个话题是连Blog的。所以有兴趣的Blog之友,技术之士,可以匿名或者非匿名的评论,交流。

    对了,下面的代码都是本人写的,和积累的,每一个功能都是以Method的形式进行粘贴的,一般只有你懂的话,就可以直接调用的,当然一般都是从基础开始。

    如果想和本人进行交流的话,我的首页上有我的MSN。。。。

    正在话归正题
    ----
                   VSTO[Excel]
    //新建Sheet
    private void CreditSheet()
    {
         Excel.Workbook newWorkbook 
    = this.Application.Workbooks.Add(missing);
    }


    //打开Sheet
    private void OpenSheet()
    {
      
    this.Application.Workbooks.Open(this.ImputFolderName.Text.ToString(), missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
    }


    //连续在多个单元格中显示文字,并调整各自单元格的宽度
    private void AimatA1RangeUsingNameRange()
            
    {
                
    //设定一个NamedRange
                NamedRange textInCell;
                textInCell 
    = this.Controls.AddNamedRange(this.get_Range("A8", missing), "EvaluateDemo");

                
    //重新规定 NameRange [A8-D8]
                textInCell.RefersTo = "=Sheet1!$A$8:$D$8";

                
    //evaluate
                textInCell.Value2 = "Hello world!";

                
    //自动调整单元格
                textInCell.Columns.AutoFit();
            }


    **此Value2 属性与 Value 属性的唯一区别在于,Value2 不是参数化属性。

    private void FindMarthaInTheRange()
            
    {
                
    this.Range["H1", missing].Value2 = "Martha jone ";

                NamedRange auto_HR 
    =
                    
    this.Controls.AddNamedRange(this.Range["H2", missing],
                    
    "auto_HR");

                
    //根据H1中的字符串自动从头查找并复制同样的值
                auto_HR.Value2 = auto_HR.AutoComplete("Ma");

                
    //自动调整单元格
                auto_HR.Columns.AutoFit();
            }


    *在这里Martha jone 不能任意查找,意思就是AutoComplete(参数值),只能从头匹配,不能任意匹配。

    //合并单元格
    private void MergeRange()
    {
        NamedRange rangeOne 
    = this.Controls.AddNamedRange(this.Range["A12""D27"], "rangeOne");
        rangeOne.Select();
        rangeOne.Merge(
    false);
    }


    //设置Cells边框
    private void setBordersAndInterior()
            
    {
                
    //第一种写法
                NamedRange bordersRange = this.Controls.AddNamedRange(this.Range["E12","F12"], "borderRange");
                bordersRange.Borders.LineStyle 
    = Excel.XlLineStyle.xlSlantDashDot;
                
                
    //Set Color
                bordersRange.Interior.Color = 0xFF00;

                
    //第二种写法
                for (int i = 1; i <= 7; i++)
                
    {
                    
    base.Range[base.Cells[i, 7], base.Cells[i, 8]].Borders.LineStyle = i;    
                }
     
            }



    AutoCalculate

    12月5日更新(快考试,要加油了)

    问题1:为什么在单元格中输入一个19位或者更多位的数字,显示时数字不会以16进制的形式显示,如:1111E
    +9。想实现“以文本形式显示数字”?
       答:只要设置一下此单元格NumberFormatLocal 
    ="@" 即可
    ex:
        
    this.Range["A35", missing].NumberFormatLocal = "@";
        
    this.Range["A35", missing].Value2 = "111111111111111111111111111111111111111111”;

    问题2:想把当前活动窗口网格线去掉?            
       答:设置DisplayGridlines 为False即可。
    this.Application.ActiveWindow.DisplayGridlines = false;

  • 相关阅读:
    学习算法必备数学
    Use NDepend to Measure How SOLID Your Code Is
    使用Docker 快速体验TDengine
    ASP.NET Core 修改开源协议为MIT,.NET全平台 MIT协议开源了
    DNS泛域名解析应用(nip.io/sslip.io)
    对象池在 .NET (Core)中的应用[3]: 扩展篇
    对象池在 .NET (Core)中的应用[2]: 设计篇
    对象池在 .NET (Core)中的应用[1]: 编程篇
    项目组织结构的3种类型:职能型、项目型和矩阵型
    [LeetCode] 1208. Get Equal Substrings Within Budget 尽可能使字符串相等
  • 原文地址:https://www.cnblogs.com/RuiLei/p/568929.html
Copyright © 2011-2022 走看看