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
;
查看全文
相关阅读:
【洛谷P3649】回文串
【CH2401】送礼物
Python 函数
Python 文件操作
JS的DOM和BOM
JavaScript (内置对象及方法)
JavaScript 基础(数据类型、函数、流程控制、对象)
Python基础数据类型(数字、字符串、布尔、列表、元组、字典、集合等)
MySQL(二)
数据备份 及 Python 操作 Mysql
原文地址:https://www.cnblogs.com/RuiLei/p/568929.html
最新文章
input radio点击选中再点击取消
git本地新建分支推送到远程
new FileReader()
JQ前端上传图片显示在页面以及发送到后端服务器
VUE CLI3.0安装及配置
IE不支持sessionStorage问题
ajax前端传递对象给后端
quartz 实例
spring boot 中使用拦截器
springboot 集成dubbo
热门文章
idea git 从github上拉取项目 更改上传
idea git 把本地项目上传到github上
【模板】FFT
【洛谷P3959】宝藏
【hiho1044】状压dp1
【洛谷P3909】异或之积
【洛谷P2398】GCD SUM
【模板】动态最值
【洛谷P1659】啦啦队排练
【洛谷P4555】最长双回文串
Copyright © 2011-2022 走看看