Excel开发学习笔记:VB.net的一些杂项
最近遇到一个数据处理自动化的问题,于是打算开发一个基于excel的小工具。在业余时间一边自学一边实践,最近终于完成了雏形。抽空把一些知识写下来以备今后参考,因为走的是盲人摸象的野路子,幼稚与错误请多包涵。
开发环境基于VSTO,具体配置:visual studio 2010,VB .Net,excel 2007,文档级别的定制程序。
vb自带的简单数组增删元素和改变大小不方便,.net提供的List类型很好用。
比如下面定义了int类型的动态数组,第二句则是将 List(T) 的元素复制到新数组中
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
获取文件属性
If (fileInfo.Exists = True) Then
MsgBox(fileInfo.FullName )
MsgBox(fileInfo.DirectoryName )
End If
获取文件夹下的文件名
支持模糊匹配文件名
读取文件内容
Dim dataFileStr As String() = IO.File.ReadAllLines(file)‘file是文件路径的字符串
‘获取文件的修改时间
Dim time As DateTime = IO.File.GetLastWriteTime(file)‘file是文件路径的字符串
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。