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,一经查实,立即删除!

相关文章

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

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

c#活动目录操作

添加引用 System.DirectoryServices导入命名空间 using System.DirectoryServices;srvip "192.168.1.1"; dn "DCl,DCcom";user "administrator"; pwd "123"; DirectoryEntry de;denewDirectoryEntry("LDAP://"srvip &quo…

[导入]Ajax使用初步

文章来源:http://blog.csdn.net/21aspnet/archive/2007/03/19/1534299.aspx 转载于:https://www.cnblogs.com/zhaoxiaoyang2/archive/2007/03/20/816309.html

CodeForces 570B,C

CodeForces 570B 题意&#xff1a;给定n和m&#xff0c;然后再&#xff08;1-n&#xff09;中随机取出c&#xff0c;求一个m使得 的概率最大&#xff0c;概率一样时输出最小的m。 思路&#xff1a;只需要看1到m-1和m1和n的最大的那一边就可以了&#xff0c;坑是n1的情况和n为…

验证码(转)

把下面代码存为一个文件code.aspx。另一个文件里调用<img src"code.aspx">using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebCo…

ASP.NET 2.0 的数据源、数据绑定控件概述与区别

一、Render UI 1 GridView GridView 控件用来在表中显示数据源的值。每列表示一个字段&#xff0c;而每行表示一条记录。GridView 控件支持下面的功能&#xff1a; 绑定至数据源控件&#xff0c;如 SqlDataSource。 内置排序功能。 内置更新和删除功能。 内置分页功能。 内…

[导入]javascript总结

1.动态添加一行&#xff0c;和删除当前行<script> var count0; function ff() { var txt1document.getElementById("Text1"); var table1document.getElementById("table1"); rowNotable1.rows.length; Trtable1.insertRow(rowNo); Tr.id"tr&qu…

求助:DataGrid加行号的问题

我的数据是fname,lnameprivatevoidPage_Load(objectsender, System.EventArgs e) { if(!IsPostBack) { myConnectionnew SqlConnection("server127.0.0.1;uidsa;pwdsa;databaseqqq;"); strSQL"SELE…

CVS的使用教程(转)

、什么是CVS? CVS - Concurrent Versions System&#xff08;并发版本管理系统&#xff09;是一个版本控制管理系统&#xff0c;它是目前最为广泛使用的一个系统。 在多人共同开发一个大型项目时&#xff0c;源代码的维护和版本维护是一件令人头疼的事情&#xff0c;由于多人开…

压缩图片上传到数据库

保存到数据库public int DyfcListInsert(int id,string name,string username,string content,Byte[] photo) { string sql "S_DyfcList_Insert"; SqlCommand sqlcmd new SqlCommand(sql,DwzxConfiguration.ConnectDB() ,DwzxConfigu…

使用CodeDom生成程序集

usingSystem;usingMicrosoft.CSharp;usingSystem.CodeDom.Compiler;usingSystem.CodeDom;namespaceTest.CUI{ class Program { static void Main() { // 创建编译器对象 CSharpCodeProvider p new CSharpCodeProvider(); ICodeCompiler cc p.CreateCo…

汇编语言——第1次上机实验

准备&#xff1a; 硬件&#xff1a;pc机&#xff0c;32位win操作系统&#xff0c;能够运行dos&#xff0c;某些64位win10系统可能会不支持 软件&#xff1a;masm程序 实验内容&#xff1a; 1.winr运行dos&#xff0c;cd到指定的masm目录&#xff08;为了调试方便&#xff0c;所…

[导入]一再的变故,终于决定何去何从.

dudu文章来源:http://blog.csdn.net/veiny/archive/2007/09/12/1781906.aspx 转载于:https://www.cnblogs.com/veiny/articles/904703.html

汇编语言——第2次上机实验

实验要求&#xff1a; 求表达式x*yz-200的值 实验步骤&#xff1a; 1.按照实验要求&#xff0c;画出相应的计算流程图 可以看到&#xff0c;先算x*y&#xff08;保存在dx&#xff1a;cx&#xff09;&#xff0c;然后扩展z为双字节&#xff08;dx&#xff1a;ax&#xff09;&am…

SQL Server 2005 中附加只有mdf文件的数据库(修复置疑的数据库)

在利用VSTS中&#xff0c;VSTS不能创建团队项目&#xff0c;数据库ReportServer出现置疑现象&#xff0c;数据库无法打开。修复过程中&#xff0c;由于想利用SQL SERVER 2000的功能&#xff0c;先备份了ReportServer库文件和日志文件&#xff0c;然后删除数据库。在此之前先进行…

是否会成为问题——Linq to Sql的执行可能无法复用查询计划

查询计划 Sql Server在执行一条查询语句之前都对对它进行“编译”并生成“查询计划”&#xff0c;查询计划告诉Sql Server的查询引擎应该用什么方式进行工作。Sql Server会根据当前它可以收集到的各种信息&#xff08;例如内存大小&#xff0c;索引的统计等等&#xff09;把一条…

介绍及安装

不知读者是否听说过“宠物大战”&#xff1f;大意为Sun公司为帮助开发人员和架构师使用J2EE技术&#xff0c;发布了一个在线宠物商店Sun Java Pet Store。而微软公司则利用.NET技术也发布了一个实现同样功能的PetShop&#xff0c;并且在代码数量、性能等各方面对二者进行了比较…

自定函数获取datagrid,datalist,rpeater控件中header,footer栏中控件

在论坛上看到很多关于datagrid,gridview,datalist,rpeater提取header,footer中控件的问题,整理了一下.供大家分享下面我以DataGrid为便进行说明.footer栏又称页脚栏,在很多时候我们可以在该栏放页码及相当的功能键.但是最后在获得这些控件引用的时候就会有点麻烦,由于footer(页…

随机广告图片

1<script language”JavaScript”>2var imageList newArray;3imageList[0] “image1.jpg”;4imageList[1] “image2.jpg”;5imageList[2] “image3.jpg”;6imageList[3] “image4.jpg”;7var urlList newArray;8urlList[0] “http://some.host/”;9urlList[1] “http://a…

Core IO学习心得

最近看Core IO的内容&#xff0c;有一些心得给大家共享一下&#xff1a; Core IO作为微软IT基础架构优化框架中的一个部分。该框架包含三个部分&#xff1a;CIO&#xff0c;BPIO和APIO&#xff1a; CIO&#xff08;核心基础架构优化&#xff09;专注于核心基础机构组件&#x…