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
;
查看全文
相关阅读:
Java暑期学习第三十一天日报
使用dataadapter和dataset更新数据库
一些很酷的.Net技
一个阴历阳历互相转化的类(c#农历)
详细讲解简洁、明晰!数据库设计三大范式应用实例
WinForm下ListBox控件“设置DataSource属性后无法修改项集合”的问题解决方案
CONVERT函数方法大全(经验总结)
使用C#将字符串转换成十六进制以及其逆转换
List myList = new List()有关的方法及属性
C#实现P2P之UDP穿透NAT及其原理讲解11
原文地址:https://www.cnblogs.com/RuiLei/p/568929.html
最新文章
哎呀哎呀哎呀~,我爱上了事件
AfxLoadLibrary VS LoadLibrary
(收藏)MFC中的消息处理
AfxSetResourceHandle AfxFindResourceHandle AfxGetResourceHandle
CDialogBar的使用方法
Call parent class's method in child class
Windows Data Types
OnCmdMsg() VS PostMessage()
Enhacing CDialogBar with InitDialog and DDX
Initializing A Dll
热门文章
CDialog::DoModal
设计模式——桥接模式
Java暑期学习第三十天日报
Java暑期学习第二十八天日报
Java暑期学习第二十五天日报
Java暑期学习第二十六天日报
Java暑期学习第二十九天日报
Java暑期学习第二十四天日报
Java暑期学习第二十七天日报
Java暑期学习第二十三天日报
Copyright © 2011-2022 走看看