VSTO---excel编程 [待续] [12月5日更新,详见文档下面]
生活随笔
收集整理的這篇文章主要介紹了
VSTO---excel编程 [待续] [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;
轉載于:https://www.cnblogs.com/RuiLei/archive/2006/11/22/568929.html
總結
以上是生活随笔為你收集整理的VSTO---excel编程 [待续] [12月5日更新,详见文档下面]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 近期热播电视剧集锦 哪一部是你的最爱呢
- 下一篇: WINFORM應用程式的主進入點和清除資