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
#region
AutoCalculate
//
自动计算
private
void
NotifyChanges()
{
NamedRange changesRange
=
this
.Controls.AddNamedRange(
this
.Range[
"
G2
"
,
"
G8
"
],
"
compositeRange
"
);
changesRange.Change
+=
new
DocEvents_ChangeEventHandler(changesRange_Change);
}
private
void
changesRange_Change(Range Target)
{
NamedRange namedRange2
=
this
.Controls.AddNamedRange(
this
.Range[
"
G9
"
, missing],
"
namedRange5
"
);
//
设置公式
namedRange2.Formula
=
"
=SUM(G2:G8)
"
;
namedRange2.FormulaHidden
=
true
;
//
计算
namedRange2.Calculate();
}
今天就到此吧。。。待续
#endregion
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
;
查看全文
相关阅读:
关于Snoop的用法
WPF中Xaml编译正常而Designer Time时出错的解决办法
TFS自定义开发中的反射应用
用Fiddler2来监听HTTP(记:用skydrive sdk访问时,出错后用Fidder抓包分析)
Send Code to evernote by my specify notebook
Sublime Text2中Evernote 插件的使用
编译Python出现Tab,空格的问题
Python 中list, dictionary 与 file相互操作
import module, from module import funtion区别
C# 性能总结
原文地址:https://www.cnblogs.com/RuiLei/p/568929.html
最新文章
解决GDAL中文乱码问题--转载
百度墨卡托坐标转百度经纬度坐标方法实现
GDAL/OGR安装--转载
WechatHelper
微信公众号支付
累计
C#请求API数据
格式化文本
js自定义日历
js日历
热门文章
Avalon二数据填充
Avalon一作用域
Linq扩展方法
python为类定义构造函数
python中如何定义main方法
python构造一个http请求
python中http请求中添加cookie支持
python中http的一些编码转换
python中string和bool的转换
python中全局变量的使用
Copyright © 2011-2022 走看看