自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

VS DisplayInExcel()函數(shù)簡介

開發(fā) 后端
這里介紹VS DisplayInExcel()函數(shù),我們定義一個VS DisplayInExcel()函數(shù)用于創(chuàng)建Excel表格,然后將容器中的賬號數(shù)據(jù)填充到Excel表格中。

在向大家詳細(xì)介紹VS DisplayInExcel()函數(shù)之前,首先讓大家了解下在Excel中顯示賬號數(shù)據(jù),然后全面介紹VS DisplayInExcel()函數(shù),希望對大家有用。下面我們將把這些數(shù)據(jù)顯示到Excel表格中。我們定義一個VS DisplayInExcel()函數(shù)用于創(chuàng)建Excel表格,然后將容器中的賬號數(shù)據(jù)填充到Excel表格中:

  1. public static void DisplayInExcel(IEnumerable<Account> accounts,  
  2. Action<Account, Excel.Range> DisplayFunc)  
  3. {  
  4. var xl = new Excel.Application();  
  5.  
  6. xl.Workbooks.Add();  
  7. xl.Visible = true;  
  8. xl.Cells[1, 1].Value2 = "Name";  
  9. xl.Cells[1, 2].Value2 = " Balance";  
  10. xl.Cells[2, 1].Select();  
  11. foreach (var ac in accounts)  
  12. {  
  13. DisplayFunc(ac, xl.ActiveCell);  
  14. xl.ActiveCell.get_Offset(1, 0).Select();  
  15. }  
  16.  
  17. xl.get_Range("A1:B3").Copy();  

然后,我們在Main()函數(shù)的底部,按照如下的方式調(diào)用VS DisplayInExcel()函數(shù),最終完成Excel表格的創(chuàng)建和數(shù)據(jù)的填充:

  1. DisplayInExcel(checkAccounts, (account, cell) => 
  2. {  
  3. // This multiline lambda will set  
  4. // custom processing rules.  
  5. cell.Value2=account.Name;  
  6. cell.get_Offset(0, 1).Value2 = account.Balance;  
  7.  
  8. if (account.Balance < 0)  
  9. {  
  10. cell.Interior.Color = 255;  
  11. cell.get_Offset(0, 1).Interior.Color = 255;  
  12. }  

#t#這里我們使用了Lambda表達(dá)式,由它來對數(shù)據(jù)填充的邏輯進(jìn)行具體的定義,最終完成數(shù)據(jù)的填充。同時,它還會檢查Balance的值,如果為負(fù)值,則將表格填充為紅色,表示這個賬號已經(jīng)赤字了。最后,為了使得Excel表格更加美觀,我們讓Excel表格根據(jù)內(nèi)容自動調(diào)整表格的寬度。在VS DisplayInExcel()函數(shù)的末尾,我們添加如下的代碼:

xl.Columns[1].AutoFit();
xl.Columns[
2].AutoFit();

在這里,有過Office開發(fā)經(jīng)驗的朋友可能會感到奇怪,AutoFit()函數(shù)可以被Columns的返回結(jié)果直接調(diào)用而無需進(jìn)行類型轉(zhuǎn)換嗎?的確,在C# 3.0中,要想調(diào)用AutoFit()函數(shù),必須對Columns的返回值進(jìn)行類型轉(zhuǎn)換,上面的代碼應(yīng)該寫成:

  1. // C# 3.0 code. Not necessary in C# 4.0!  
  2. ((Range)xl.Columns[1]).AutoFit();  
  3. ((Range)xl.Columns[2]).AutoFit(); 

但是在C# 4.0中,因為有了dynamic類型的支持,繁瑣的類型轉(zhuǎn)換將不再需要。在C# 4.0中,從COM接口返回的Object類型的對象,被自動當(dāng)做dynamic類型來處理。我們前面曾經(jīng)介紹過,因為動態(tài)類型的遲綁定特性(late binding),dynamic類型可以調(diào)用任何函數(shù),所以無需再進(jìn)行類型轉(zhuǎn)換,也不會產(chǎn)生編譯錯誤。在運行的時候,動態(tài)語言運行時(DLR)會動態(tài)查找對象真正的類型而調(diào)用相應(yīng)的函數(shù)。

責(zé)任編輯:佚名 來源: NET130
相關(guān)推薦

2009-12-14 10:47:51

VS文檔

2009-12-14 14:00:39

VS 關(guān)系圖

2010-10-11 16:19:30

Mysql聚合函數(shù)

2009-12-09 13:41:04

VS 2003 報錯

2010-10-14 14:01:35

MySQL CONVE

2010-10-25 15:12:42

Oracle日期函數(shù)

2010-10-25 17:28:05

Oracle bita

2009-12-14 17:19:24

VS 2008簡介

2010-10-25 17:39:24

Oracle單行日期函

2011-04-12 13:27:09

Oracle日期函數(shù)

2010-02-01 10:04:25

Python模板函數(shù)

2010-10-25 14:47:49

Oracle系統(tǒng)變量函

2009-12-11 15:38:40

VS2008編譯器

2009-12-11 14:38:06

VS2003安裝程序

2010-04-27 12:51:49

Oracle 函數(shù)de

2009-08-20 14:28:00

C#靜態(tài)構(gòu)造函數(shù)

2010-04-01 09:34:06

Oracle函數(shù)

2009-11-30 11:05:19

VS2003 WebS

2010-06-01 14:07:56

2014-01-21 09:15:12

Python函數(shù)
點贊
收藏

51CTO技術(shù)棧公眾號