Excel開發學習筆記:VB.net的一些雜項

來源:互聯網
上載者:User

標籤:

最近遇到一個資料處理自動化的問題,於是打算開發一個基於excel的小工具。在業餘時間一邊自學一邊實踐,最近終於完成了雛形。抽空把一些知識寫下來以備今後參考,因為走的是盲人摸象的野路子,幼稚與錯誤請多包涵。

開發環境基於VSTO,具體配置:visual studio 2010,VB .Net,excel 2007,文檔層級的定製程式。

 

動態數組
vb內建的簡單數組增刪元素和改變大小不方便,.net提供的List類型很好用。
比如下面定義了int類型的動態數組,第二句則是將 List(T) 的元素複製到新數組中
Dim idx As New List(Of Integer)  

Dim output() AsInteger=idx.ToArray()

 

vb.net中的實值型別和參考型別
Visual Basic .NET 中類型的兩個基本類別是“實值型別”和“參考型別”。基元類型、枚舉和結構為實值型別。類、字串、標準模組、介面、數組和委託為參考型別。
for each語句取出的元素也遵循這個原則,所以如果集合中的元素是實值型別,那麼集合是不會被修改的,如果是參考型別則相反。
在使用for each的時候吃了虧,試圖去修改取出的結構體內的基元類型,修改對集合元素沒有生效,但如果是修改結構體內的類則可以影響到集合元素中的內容。

3元運算
類似c中的?條件陳述式,比如Dim c = IIf(a > b, a, b)

邏輯判斷
AndAlso運算子:運算子的第一個運算式為true才會計算第二個運算式
OrElse運算子:運算子的第一個運算式為false才會計算第二個運算式

尋找子字串
string類型的IndexOf函數返回子串所在的位置,如果沒找到返回-1


擷取檔案屬性

Dim fileInfo = New IO.FileInfo(file)‘file是檔案路徑的字串 
If (fileInfo.Exists = True) Then    
    MsgBox(fileInfo.FullName )    
    MsgBox(fileInfo.DirectoryName ) 
End If


擷取檔案夾下的檔案名稱
支援模糊比對檔案名稱

Dim aFiles As String() = IO.Directory.GetFiles(fileInfo.DirectoryName, "a" + "*.csv")


讀取檔案內容

‘開啟一個文字檔,將檔案的所有行都讀入一個字串數組,然後關閉該檔案。 
Dim dataFileStr As String() = IO.File.ReadAllLines(file)‘file是檔案路徑的字串 
‘擷取檔案的修改時間 
Dim time As DateTime = IO.File.GetLastWriteTime(file)‘file是檔案路徑的字串






Excel開發學習筆記:VB.net的一些雜項

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.