VSTO---excel编程 [待续] [12月5日更新,详见文档下面]

 

None.gif最近比较闲了,考试也快要到了。但是编程技术方面还是不能掉啊.
None.gif
None.gif现在开始VSTO编程之旅了。这个话题是连Blog的。所以有兴趣的Blog之友,技术之士,可以匿名或者非匿名的评论,交流。
None.gif
None.gif对了,下面的代码都是本人写的,和积累的,每一个功能都是以Method的形式进行粘贴的,一般只有你懂的话,就可以直接调用的,当然一般都是从基础开始。
None.gif
None.gif如果想和本人进行交流的话,我的首页上有我的MSN。。。。
None.gif
None.gif正在话归正题
----
None.gif               VSTO[Excel]
None.gif
//新建Sheet
None.gif
private void CreditSheet()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif     Excel.Workbook newWorkbook 
= this.Application.Workbooks.Add(missing);
ExpandedBlockEnd.gif}

None.gif
None.gif
//打开Sheet
None.gif
private void OpenSheet()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif  
this.Application.Workbooks.Open(this.ImputFolderName.Text.ToString(), missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
ExpandedBlockEnd.gif}

None.gif
None.gif
//连续在多个单元格中显示文字,并调整各自单元格的宽度
None.gif
private void AimatA1RangeUsingNameRange()
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif{
InBlock.gif            
//设定一个NamedRange
InBlock.gif
            NamedRange textInCell;
InBlock.gif            textInCell 
= this.Controls.AddNamedRange(this.get_Range("A8", missing), "EvaluateDemo");
InBlock.gif
InBlock.gif            
//重新规定 NameRange [A8-D8]
InBlock.gif
            textInCell.RefersTo = "=Sheet1!$A$8:$D$8";
InBlock.gif
InBlock.gif            
//evaluate
InBlock.gif
            textInCell.Value2 = "Hello world!";
InBlock.gif
InBlock.gif            
//自动调整单元格
InBlock.gif
            textInCell.Columns.AutoFit();
ExpandedBlockEnd.gif        }

None.gif
None.gif
**此Value2 属性与 Value 属性的唯一区别在于,Value2 不是参数化属性。
None.gif
None.gif
private void FindMarthaInTheRange()
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif{
InBlock.gif            
this.Range["H1", missing].Value2 = "Martha jone ";
InBlock.gif
InBlock.gif            NamedRange auto_HR 
=
InBlock.gif                
this.Controls.AddNamedRange(this.Range["H2", missing],
InBlock.gif                
"auto_HR");
InBlock.gif
InBlock.gif            
//根据H1中的字符串自动从头查找并复制同样的值
InBlock.gif
            auto_HR.Value2 = auto_HR.AutoComplete("Ma");
InBlock.gif
InBlock.gif            
//自动调整单元格
InBlock.gif
            auto_HR.Columns.AutoFit();
ExpandedBlockEnd.gif        }

None.gif
None.gif
*在这里Martha jone 不能任意查找,意思就是AutoComplete(参数值),只能从头匹配,不能任意匹配。
None.gif
None.gif
//合并单元格
None.gif
private void MergeRange()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif    NamedRange rangeOne 
= this.Controls.AddNamedRange(this.Range["A12""D27"], "rangeOne");
InBlock.gif    rangeOne.Select();
InBlock.gif    rangeOne.Merge(
false);
ExpandedBlockEnd.gif}

None.gif
None.gif
//设置Cells边框
None.gif
private void setBordersAndInterior()
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif{
InBlock.gif            
//第一种写法
InBlock.gif
            NamedRange bordersRange = this.Controls.AddNamedRange(this.Range["E12","F12"], "borderRange");
InBlock.gif            bordersRange.Borders.LineStyle 
= Excel.XlLineStyle.xlSlantDashDot;
InBlock.gif            
InBlock.gif            
//Set Color
InBlock.gif
            bordersRange.Interior.Color = 0xFF00;
InBlock.gif
InBlock.gif            
//第二种写法
InBlock.gif
            for (int i = 1; i <= 7; i++)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
base.Range[base.Cells[i, 7], base.Cells[i, 8]].Borders.LineStyle = i;    
ExpandedSubBlockEnd.gif            }
 
ExpandedBlockEnd.gif        }

None.gif
None.gif
ContractedBlock.gifExpandedBlockStart.gif
AutoCalculate#region AutoCalculate
InBlock.gif
//自动计算
InBlock.gif
private void NotifyChanges()
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gif    NamedRange changesRange 
= this.Controls.AddNamedRange(this.Range["G2""G8"], "compositeRange");
InBlock.gif    changesRange.Change 
+= new DocEvents_ChangeEventHandler(changesRange_Change);
ExpandedSubBlockEnd.gif}

InBlock.gif
InBlock.gif
private void changesRange_Change(Range Target)
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gif   NamedRange namedRange2 
=
InBlock.gif                
this.Controls.AddNamedRange(this.Range["G9", missing],
InBlock.gif                
"namedRange5");
InBlock.gif   
//设置公式   
InBlock.gif
   namedRange2.Formula = "=SUM(G2:G8)";
InBlock.gif   namedRange2.FormulaHidden 
= true;
InBlock.gif   
//计算
InBlock.gif
   namedRange2.Calculate();
ExpandedSubBlockEnd.gif}

InBlock.gif
InBlock.gif今天就到此吧。。。待续
InBlock.gif
ExpandedBlockEnd.gif
#endregion

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

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

转载于:https://www.cnblogs.com/RuiLei/archive/2006/11/22/568929.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381792.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uva 1630——Folding

题意&#xff1a;给出一个由大写字母组成的长度为n的串&#xff0c;然后尽量折叠成一个尽量短的串&#xff0c;折叠可以嵌套。 思路&#xff1a;区间dp&#xff0c;dp&#xff08;i&#xff0c;j&#xff09;表示区间&#xff08;i&#xff0c;j&#xff09;的最短的串的长度&a…

uva 1433——Garlands

题意&#xff1a;给定n个值&#xff0c;然后把这n个值分为m-1段&#xff0c;每段的一半长度不超过k&#xff0c;求分得的的段中&#xff0c;最大的半段的最小值。 思路&#xff1a;二分dp&#xff0c;dp&#xff08;i&#xff0c;0&#xff09;表示前i个不超过x的最小段数&…

今天开始学C#.NET

因项目需要&#xff0c;今天开始接触C#.NET。从Java到C#&#xff0c;真的是比较简单&#xff0c;先学会了VS2003。本来想用VS2005&#xff0c;但项目上要求用VS2003&#xff0c;也就是.NET Framework1.1&#xff0c;所以就打算从VS2003入手&#xff0c;先在公司 的笔记本上装好…

VS.NET提示试图运行项目时出错:无法启动调试。绑定句柄无效解决办法

也许是我迟发现了&#xff0c;总之我是刚刚才遇到这个问题的&#xff0c;挺不爽的&#xff0c;从模板新建的项目&#xff0c;未添加一行代码却出现了调试错误。&#xff08;不用调试倒没事&#xff09;有点郁闷。还好&#xff0c;&#xff08;感谢一下发明搜索引擎的人&#xf…

CodeForces 560A,B,C

CodeForces 560A 题意&#xff1a;给定一个货币系统&#xff0c;问不能组成的最小的钱数是多少。 思路&#xff1a;水&#xff0c;只要检查有没有出现1即可&#xff0c;有则输出-1&#xff0c;否则1. code&#xff1a; #include <iostream> #include <cstdio> #in…

WINFORM應用程式的主進入點和清除資源

///<summary>///應用程式的主進入點。 ///</summary>[STAThread] staticvoidMain() { Application.Run(newForm1()); }///<summary>///清除任何使用中的資源。 ///</summary>protectedoverridevoidDis…

CodeForces 558A,B

CodeForces 558A 题意&#xff1a;给定一些苹果树的位置和树上的苹果数&#xff0c;然后一个人站在原点&#xff0c;每次碰到苹果就往相反的方向走&#xff0c;问能得到的最大苹果数。 思路&#xff1a;直接模拟即可。先假设往左走&#xff0c;然后再假设往右走。遍历一遍即可…

生活!

如果未来是可以被看见的&#xff0c;或许就不会有那么多遗憾了。 可惜现实是残酷的。 跌倒了受伤了&#xff0c;无论再怎么痛再怎么难过&#xff0c;只要你还活着还呼吸着&#xff0c;就得拍拍屁股自己爬起来。 所以&#xff0c;生谁的气呢&#xff1f; 向谁祈求原谅呢&…

uva 10559——Blocks

题意&#xff1a;有n个带颜色的方块&#xff0c;同种颜色的方块连成一个区域&#xff0c;每次可以消除一个区域的方块x&#xff0c;然后得到分数x2&#xff0c;右边的方块左移&#xff0c;然后问求最大的分数。 思路&#xff1a;区间dp&#xff0c;dp&#xff08;i&#xff0c;…

uva 12222——Mountain Road

题意&#xff1a;有一个狭窄的山路&#xff0c;两辆车不能同时相向而行&#xff0c;并且同向的车的间隔不能小于10秒&#xff0c;给定一些车的起始时间&#xff0c;求最后一辆车离开的最短时间。 思路&#xff1a;递推&#xff0c;dp&#xff08;i&#xff0c;j&#xff0c;k&a…

取消XP和2000专业版的IIS的用户数量限制

我们知道Windows 2000专业版或Windows XP专业版操作系统中IIS最多允许10个客户端的连接&#xff0c;在Windows 2000服务器版或Windows 2003服务器版操作系统中不存在这种连接限制问题。 将常用的几种办法综合了一下&#xff0c;帖出来方便各位查询&#xff01; 一、MtaEdt22.ex…

uva 10037——Bridge

题意&#xff1a;有一个桥&#xff0c;每次只能两个人拿着手电筒通过然后一个人拿着电筒回来&#xff0c;然后让新人过去&#xff0c;给出每个人的过桥时间&#xff0c;问最后总的最小时间。 思路&#xff1a;贪心。1个人2个人好考虑&#xff0c;排好序&#xff0c;三个人是13&…

Rose与PowerDesigner:两款建模工具对比分析比较

一、 二者的出身 作为世界最著名的两大CASE工具&#xff0c;Rational Rose和PowerDesigner的名声可谓如雷贯耳。Rose是当时全球最大的CASE工具提供商Rational的拳头产品&#xff0c;UML建模语言就是由Rational公司的三位巨头Booch、Rumbaugh和Jacobson发明的&#xff0c;后来R…

uva 11714——Blind Sorting

题意&#xff1a;给定n&#xff0c;在1-n中的范围里何以询问任意两个数的大小&#xff0c;问查找最大和次大至少需要多少次询问。 思路&#xff1a;寻找最大需要n-1次&#xff0c;寻找次大需要不断二分区间&#xff0c;log2&#xff08;n-1&#xff09;的算法。 code&#xff1…

XHTML基础问答

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> HTML语言是我们建立网页的工具&#xff0c;从它出现发展到现在&#xff0c;规范不断完善&#xff0c;功能越来越强。但是依然有缺陷和不足&#xff0c;人们仍在不断的改进它&#xf…

uva 10602——Editor Nottoobad

题意&#xff1a;给定一些单词&#xff0c;然后让打印这些单词&#xff0c;复制前一个单词和删除当前的最后一个字母没有花费&#xff0c;问最小的打印花费。 思路&#xff1a;贪心。排序后&#xff0c;检查当前和上一个单词有多少一样的&#xff0c;这部分的花费可以为0.也就是…

ASP.NET程序中常用的三十三种代码

1. 打开新的窗口并传送参数&#xff1a;   传送参数&#xff1a; response.write("&#xff1c;script&#xff1e;window.open(’*.aspx?id"this.DropDownList1.SelectIndex"&id1"..."’)&#xff1c;/script&#xff1e;") 接收参数&…

uva 10120——Gift?!

题意&#xff1a;给定一条河的宽度n单位和要跳的位置m&#xff0c;每次要跳2*i-1单位&#xff0c;可以前后跳&#xff0c;问能否到达m。 思路&#xff1a;搜索。河宽大于50的话是一定可以跳过去的&#xff0c;小于50的向下搜索一下就可以了。 code&#xff1a; #include <bi…

(转)利用MS AJAX 扩展服务器端控件

原贴地址:http://www.cnblogs.com/hblynn/archive/2007/01/29/633619.html 转载于:https://www.cnblogs.com/super-yc/archive/2007/01/30/634256.html

uva 10570—— Meeting with Aliens

题意&#xff1a;n个外星人坐在一起&#xff0c;然后问通过交换多少次位置可以使正向或者反向是一个有序的序列。 思路&#xff1a;把n个外星人延长到2*n&#xff08;因为有环&#xff09;&#xff0c;然后在1的位置上放1&#xff0c;2的位置放2&#xff0c;反向的话让序列倒过…