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;

原文地址:https://www.cnblogs.com/RuiLei/p/568929.html