Excel开发学习笔记:VB.net的一些杂项

最近遇到一个数据处理自动化的问题,于是打算开发一个基于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是文件路径的字符串

				
时间: 2024-12-16 13:01:46

Excel开发学习笔记:VB.net的一些杂项的相关文章

Excel开发学习笔记:发布VSTO下的Excel开发项目

工作中遇到一个数据处理自动化的问题,于是打算开发一个基于excel的小工具.在业余时间一边自学Excel开发一边动手实践,最近终于完成了雏形.抽空把一些知识写下来以备今后参考,因为走的是盲人摸象的野路子,幼稚与错误请多包涵. 开发环境基于VSTO(没有用VBA),具体配置:visual studio 2010,VB .Net,excel 2007,文档级别的定制程序. 因为是自用的小工具,对部署的要求很低,有个安装文件即可,也不要求兼容老版本的office.这样最简单的就是使用vs2010的pu

Excel开发学习笔记:文件选择控件、查找匹配项、单元格格式及数据有效性

遇到一个数据处理自动化的问题,于是打算开发一个基于excel的小工具.在业余时间一边自学一边实践,抽空把一些知识写下来以备今后参考,因为走的是盲人摸象的野路子,幼稚与错误请多包涵. 开发环境基于VSTO,具体配置:visual studio 2010,VB .Net,excel 2007,文档级别的定制程序. Private OpenFileDialog1 As New OpenFileDialog  Private Sub test()      OpenFileDialog1.Filter 

Excel开发学习笔记:界面交互与控件的布局

除了业务逻辑之外,比较耗时耗力的就是人机交互了.在编写excel定制程序的过程中,这次用到了以下几种交互方式: 通过excel工作表(worksheet)获取用户输入 通过按钮控件触发功能代码执行 通过TreeView控件显示内容摘要及导航 通过自定义的windows窗体提供交互 工作表的操作放到后面再说,讲一下按钮控件button和Treeview控件的布局. 放置控件的方法: 无非可视化放置和运行时代码加载两种.可视化放置比较直观,通过visual studio的toolbox工具栏拖动需要

Excel开发学习笔记:新建文档级的excel解决方案

工作中遇到一个数据处理自动化的问题,于是打算开发一个基于excel的小工具.在业余时间一边自学一边实践,最近终于完成了雏形.抽空把一些知识写下来以备今后参考,因为走的是盲人摸象的野路子,幼稚与错误请多包涵. 开发环境基于VSTO(没有用VBA),具体配置:visual studio 2010,VB .Net,excel 2007,文档级别的定制程序. Excel的开发方式有很多,比如VBA.vsto下的文档级程序.vsto下的插件程序等,VBA和文档级程序比较容易上手,开发简单的功能足够了,适合

Excel开发学习笔记:查找与创建worksheet

开发环境基于VSTO,具体配置:visual studio 2010,VB .Net,excel 2007,文档级别的定制程序. 如题,我在ThisWorkbook.vb中添加了一个public函数来完成查找功能. 入参:待查找的sheet名称 返回:如果存在则返回worksheet对象,如果不存在则返回nothing Public Function WorksheetExist(name As String) As Excel.Worksheet          Try           

Excel开发学习笔记:根据工作表worksheet内容控制按钮的状态

开发环境基于VSTO,具体配置:visual studio 2010,VB .Net,excel 2007,文档级别的定制程序. 在Ribbon工具栏中有2个功能按钮,它们是否可用取决于worksheet(sheet1)中的内容. button1需要在sheet1中存在某个关键字(比如“默认勾选”)的时候可用,在sheet1初始化和内容变更事件中添加代码,下面的Ribbon1.Button1是我项目中的工具栏和按钮名称 Public Function checkRow() As Boolean 

Excel开发学习笔记:读取xml文件及csv文件

读取xml文件 有好多种读取xml的方式,xmlDOM比较常见,我使用了另外一种,它以数据流的方式打开文件并读取内容 Imports System.Xml  Dim group As New List(Of String)  Using reader As XmlReader = XmlReader.Create(OpenFileDialog2.FileName)      While reader.ReadToFollowing("group")          reader.Mo

spss C# 二次开发 学习笔记(二)——Spss以及统计术语解释(IT人眼中的统计术语)

针对客户需求,需要对一些数据做统计分析.统计分析的第一步,即为数据查询,查找出要统计分析的数据. 查询得出的是一个行列表格的结果集,行.列.表格等这些IT的数据库概念和Spss以及统计中的术语是如何对应的,这点是刚接触统计这方面的我首先要理清楚的. 变量(Variable)——结果集中的列.可以为数据库表字段,当然也可以使使用函数处理后的,即为表达式. 变量的类型分为字符型和数值型,有长度设置,对于数值有精度设置. 数值型,有数值和数值标签一说,例如性别,如果为字符型,则值为男或者女,如果为数值

Android深度探索(卷1)HAL与驱动开发学习笔记(2)

Android深度探索(卷1)HAL与驱动开发学习笔记(2) 第二章搭建Android开发环境 书中介绍了两种JDK的安装方法, 方法一: 从官网下载JDK并进行配置,解压后在终端打开profile文件来设置PATH环境变量(# soure /etc/profile),打开profile文件后输入下面的内容 export PATH=.:developer/jdk6/bin:$PATH 保存profile文件以后,有两种方法可以重新加载profile文件. 1.# sourse  /etc/pro