vb,读取excel表格数据并在listview控件中显示

合集下载

vba 引用listview

vba 引用listview

vba 引用listview在VBA(Visual Basic for Applications)中,引用ListView 控件的方法如下:1. 首先,确定ListView 控件的序号。

在Excel 或Access 等应用程序中,可以使用`Controls` 对象来获取ListView 控件的引用。

例如,如果ListView 控件位于工作表的A1 单元格,那么它的引用序号就是1。

2. 使用`Controls` 对象的`Add` 方法创建一个新的ListView 控件。

例如:```vbaSub CreateListView()Dim ws As WorksheetSet ws = ThisWorkbook.Worksheets(1)Dim lv As ListViewSet lv = ws.Controls.Add(Type:=23, Left:=100, Top:=100, Width:=200, Height:=100)End Sub```3. 使用`ListView` 对象的属性和方法来操作控件。

以下是一些常用的属性和方法:-`ListView.Items`:包含ListView 中的所有项目。

可以使用索引访问和修改项目。

- `ListView.Item(index)`:根据索引获取项目。

索引从0 开始。

- `ListView.AddItem`:向ListView 添加新项目。

- `ListView.DeleteItem`:删除ListView 中的指定项目。

- `ListView.ClearAll`:清空ListView 中的所有项目。

-`ListView.ColumnHeaders`:包含ListView 列标题的集合。

可以使用索引修改列标题。

以下是一个完整的示例,演示如何在VBA 中创建一个ListView 控件,并向其中添加项目:```vbaSub CreateListViewAndAddItems()Dim ws As WorksheetSet ws = ThisWorkbook.Worksheets(1)Dim lv As ListViewSet lv = ws.Controls.Add(Type:=23, Left:=100, Top:=100, Width:=200, Height:=100)Dim item As Variantitem = Array("Item 1", "Item 2", "Item 3")Dim i As LongFor i = 0 To UBound(item) - 1lv.Items.Add item(i), , iNext iEnd Sub```此代码将在工作表1 中创建一个ListView 控件,并向其中添加三个项目。

VB打开EXCEL的方法

VB打开EXCEL的方法

VB打开EXCEL的方法在Visual Basic中,可以使用多种方法打开Excel文件。

以下是其中一些常用的方法。

1. 使用Excel对象库:使用Excel对象库可以直接在VB中打开Excel文件,并获取其内容。

首先,需要在VB项目中引用Excel对象库。

打开VB项目,在树状视图中选择"项目",然后选择"引用"。

在"可用组件"中找到"Microsoft Excel x.x Object Library"(其中 x.x 是Excel的版本号),勾选并点击"确定"。

接下来,可以使用以下代码打开Excel文件:```vbImports Excel = Microsoft.Office.Interop.ExcelDim xlApp As Excel.ApplicationDim xlWorkbook As Excel.WorkbookDim xlWorksheet As Excel.Worksheet' 创建Excel应用程序对象xlApp = New Excel.ApplicationxlApp.Visible = True' 打开Excel文件xlWorkbook =xlApp.Workbooks.Open("C:\path\to\your\excel\file.xlsx") xlWorksheet = xlWorkbook.Worksheets(1) ' 打开第一个工作表```通过以上代码,将打开Excel文件并将第一个工作表赋值给xlWorksheet 变量。

2. 使用OleDb连接:除了使用Excel对象库,还可以使用OleDb连接字符串来打开Excel 文件。

这种方法不需要引用Excel对象库,并且适用于各种版本的Excel 文件。

```vbImports System.Data.OleDbDim connectionString As String ="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=C:\path\to\your\excel\file.xlsx;Extended Properties=Excel 12.0"Dim connection As OleDbConnection = NewOleDbConnection(connectionString)Dim adapter As OleDbDataAdapterDim dataSet As DataSet'打开连接connection.Open' 读取Excel数据dataSet = New DataSetadapter.Fill(dataSet)' 将数据加载到DataGridView控件DataGridView1.DataSource = dataSet.Tables(0)'关闭连接connection.Close```以上代码使用OleDb连接字符串连接到Excel文件,并将数据加载到DataSet中。

vba listview控件用法例子

vba listview控件用法例子

vba listview控件用法例子VBA Listview控件用法示例在VBA编程中,Listview控件是一种非常有用的工具,它可以用于显示和管理大量数据。

Listview控件提供了一种可视化的方式来展示数据,并且可以方便地对数据进行排序、筛选和编辑。

以下是一个简单的示例,演示了如何使用VBA中的Listview控件。

首先,我们需要在VBA中添加Listview控件。

步骤如下:1. 打开VBA编辑器(按下Alt+F11)。

2. 在工具箱中找到"Microsoft Windows Common Controls",如果没有找到,可以右键点击工具箱,选择"其他控件",找到并勾选它。

3. 在VBA编辑器中的工具箱中,单击鼠标右键,选择"附加",然后选择"Microsoft Windows Common Controls X.X(其中X.X表示版本号)"。

4. 在工具箱中找到并单击"Listview"控件,然后在用户窗体上绘制一个Listview 控件。

接下来,我们可以使用以下代码示例来演示Listview控件的用法:```vbaPrivate Sub UserForm_Initialize()Dim i As Integer' 设置Listview控件的列标题With ListView1.View = lvwReport.ColumnHeaders.Add , , "姓名".ColumnHeaders.Add , , "年龄".ColumnHeaders.Add , , "性别"End With' 向Listview控件中添加数据With ListView1.ListItemsFor i = 1 To 10' 添加行Set itm = .Add(, , "姓名" & i)' 添加子项itm.SubItems(1) = "年龄" & iitm.SubItems(2) = "性别" & iNext iEnd WithEnd Sub```以上代码首先在用户窗体初始化事件中设置了Listview控件的列标题。

excel vba listview用法

excel vba listview用法

excel vba listview用法Excel VBA Listview用法:Excel VBA中的Listview是一种常用的控件,它可以方便地在用户界面中显示和管理大量的数据。

以下是一些关于Excel VBA Listview的常见用法:1. 创建Listview:您可以通过在VBA中使用 "UserForm" 控件来创建Listview控件。

在UserForm设计器中,选择"工具箱",然后选择"Listview"控件,拖动它到UserForm 上。

2. 添加列:使用Listview.Columns.Add方法可以添加列。

您可以指定列的标题、宽度和对齐方式。

3. 添加行:使用Listview.ListItems.Add方法可以添加行。

每一行代表一个列表中的项,您可以指定每个项的值和图标。

4. 设置显示样式:使用Listview.View属性可以设置Listview的显示样式。

常见的样式有"大图标"、"小图标"、"列表"、"详细信息"等。

5. 单击事件:使用Listview的Click事件可以捕获用户单击列表项的动作。

在该事件中,您可以执行相应的操作,如打开某个文件、显示详细信息等。

6. 排序功能:使用Listview.Sort方法可以按列对列表项进行排序。

您可以选择升序或降序排列。

7. 编辑功能:使用Listview的LabelEdit属性可以启用列表项的编辑功能。

用户可以直接在Listview中编辑列表项的值。

8. 删除行:使用Listview.ListItems.Remove方法可以删除列表中的某一行。

请注意,以上只是Excel VBA Listview的一些常见用法,您还可以结合其他VBA代码和功能去进一步定制和扩展Listview的功能。

希望本文对您有所帮助!。

vb listview控件的基本用法

vb listview控件的基本用法

vb listview控件的基本用法VB Listview控件的基本用法[Listview控件的介绍]VB Listview控件是一种在Windows应用程序中常用的控件,它可以显示和编辑一个或多个带有多列的项。

每个项都可以有图标、文本和子项,可以根据需要自定义样式和布局。

Listview控件可以用于显示文件列表、数据库结果集、目录树等等,是开发Windows界面的常用工具之一。

[Listview控件的常见属性]1. Columns属性:列集合,用于定义和管理控件的列。

可以通过Add方法添加新的列,通过Remove方法删除现有的列。

2. Items属性:项集合,用于定义显示在控件中的项。

可以通过Add方法添加新的项,通过Remove方法删除现有的项。

3. SubItems属性:子项集合,用于定义项的子项。

每个项可以有多个子项,每个子项占用一个列的空间。

4. View属性:视图模式,用于定义控件的布局风格。

常见的视图模式有大图标、小图标、列表、详细信息等。

5. FullRowSelect属性:是否在选中项时同时选中整行。

如果设置为True,则选中项时会同时选中所在行的其他列。

6. GridLines属性:是否显示网格线。

如果设置为True,则控件会在列和行之间显示灰色的网格线。

[Listview控件的常见事件]1. ColumnClick事件:当用户单击列标题时触发,可以用于对项进行排序。

2. ItemActivate事件:当用户双击项时触发,可以用于执行双击项的操作。

3. ItemChecked事件:当用户勾选或取消勾选项时触发,可以用于处理选中项的更改。

4. ItemDrag事件:当用户拖动项时触发,可以用于处理拖动项的操作。

5. ItemSelectionChanged事件:当选中项发生更改时触发,可以用于处理选中项的变化。

[Listview控件的基本使用步骤]步骤1:在VB窗体上添加一个Listview控件。

vba listview的用法

vba listview的用法

在VBA(Visual Basic for Applications)中,ListView控件通常用于显示和操作数据列表。

以下是一些基本的使用方法:1、添加ListView控件:在VBA中,你可以通过设计视图将ListView控件添加到表单或用户窗体中。

2、设置属性:设置ListView控件的属性,如列标题、列宽、背景色等。

3、添加数据:使用AddItem方法向ListView中添加数据。

例如:vbaListView1.AddItem "Item 1"ListView1.AddItem "Item 2"4、设置子项:对于每个主项,你可以设置一个或多个子项。

例如:vba复制代码ListView1.ListItems(0).SubItems(0) = "SubItem 1"ListView1.ListItems(0).SubItems(1) = "SubItem 2"5、处理事件:你可以为ListView控件添加事件处理程序,如单击事件、双击事件等。

6、使用DetailView:你可以使用DetailView属性来设置ListView的显示方式。

默认是ReportView,可以更改为IconView或SmallIconView。

7、排序和筛选:使用Sort方法对ListView中的数据进行排序,使用Filter方法进行筛选。

8、自定义列:你可以自定义列标题,并设置每个列的数据类型和宽度。

9、删除项目:使用RemoveItem方法删除ListView中的特定项目。

例如:vbaListView1.RemoveItem 010、更新数据源:如果ListView控件绑定到一个数据源,你可以使用UpdateData方法来更新数据源。

11、获取选中项:你可以使用SelectedItem或SelectedIndices属性来获取选中的项目或索引。

VBA实战系列(ListView控件)

VBA实战系列(ListView控件)
If Not IsNull(rs.Fields("手术时间")) Then Itm.SubItems(9) = rs.Fields("手术时间")
If Not IsNull(rs.Fields("病理诊断")) Then Itm.SubItems(10) = rs.Fields("病理诊断")
If Not IsNull(rs.Fields("病情摘要")) Then Itm.SubItems(11) = rs.Fields("病情摘要")
If Not IsNull(rs.Fields("年龄")) Then Itm.SubItems(3) = rs.Fields("年龄")
If Not IsNull(rs.Fields("联系方式")) Then Itm.SubItems(4) = rs.Fields("联系方式")
If Not IsNull(rs.Fields("电话")) Then Itm.SubItems(5) = rs.Fields("电话")
alignment可选的。决定ColumnHeader对象中文本对齐方式的整数。关于设置信息,请参阅“请参阅列表中Alignment属性的信息。
icon可选的。Smallicons图象列表中图象的关键字或索引。
说明Add方法返回新插入的ColumnHeader对象的引用。
使用index参数在ColumnHeaders集合的特定位置插入列标头。
If Not IsNull(rs.Fields("诊断")) Then Itm.SubItems(6) = rs.Fields("诊断")

VB读写操作Excel文档

VB读写操作Excel文档

VB操作excel表1 需求分析1.1 基础功能需求(1)启动软件后,加载Excel文件内容到界面中列表或文本框。

(2)修改界面中列表或文本框内容,点“保存”按钮,将内容保存到原Excel文件。

(3)点击界面“读取”按钮,将修改后的Excel文件内容显示到界面列表或文本框。

(4)实现VB按钮指令,使加载的Excel自动绘制图表。

【重点难点】1.2 附加需求(1)把从VB控件获取的数据保存到指定文件,若没有文件,则创建指定文件名文件(2)待定1.3 技术应用(1)把Excel表作为数据库,可通过VB界面对其进行添加、查询、修改和删除等操作,使操作界面更加直观、交互和方便。

如可编写通讯录软件,将信息录入Excel,通过软件界面操作,更加方便快捷。

(2)如能把桌面软件、磁盘数据和网络数据进行交互存取,将更加方便获取和查询信息。

(3)结合VBA教程,通过界面实现对Excel表格及其他支持宏的office软件的操作。

2 实现过程2.1 界面设计及分析(1)点击“打开文件”按钮,弹出“打开文件对话框”,选择文件后,文件路径将显示到右下角“当前文件路径”文本框中。

(2)点击“读取当前文件”按钮,当前路径Excel表的A、B、C三列将显示到ListBox列表框中。

若列表框不能一行显示多项,则用三个列表框分别显示A、B、C三列。

(3)点击“开始传输数据”按钮,按钮提示文字变为“停止数据传输”,指示灯变绿,计时器启动,规定间隔时间改变时间、温度、电容文本框的数值,并将其写入当前文件路径的Excel表的A、B、C单元格中。

点击“停止数据传输”按钮,指示灯变黑,计时器停止,时间、温度、电容文本框的数值不再变化,停止向当前文件路径的Excel表写入数据。

(4)点击“保存文件”按钮,写入当前文件路径Excel表格的内容直接保存。

(5)点击“文件另存为”按钮,弹出“文件另存为”对话框,选择文件保存路径,输入文件名称后,自动添加为.xls扩展名,创建并保存文件。

vb程序list列表控件的用法

vb程序list列表控件的用法

在Visual Basic(VB)中,List 控件被用来显示一个项目列表。

这个控件可以包含字符串、整数、对象或其他数据类型的项目。

这个控件也提供了多种方法来添加、删除、查找或管理列表中的项目。

以下是List 控件的一些基本用法:1. **添加项目**:你可以使用`AddItem` 方法向List 控件添加项目。

例如:```vbList1.AddItem "Apple"List1.AddItem "Banana"List1.AddItem "Cherry"```2. **删除项目**:你可以使用`RemoveItem` 方法删除List 控件中的项目。

例如:```vbList1.RemoveItem 2 ' 这会删除索引为2的项目```3. **修改项目**:你可以使用`Text` 属性来修改List 控件中的项目。

例如:```vbList1.Text(2) = "Peach" ' 这会修改索引为2的项目为"Peach"```4. **查找项目**:你可以使用`IndexOf` 方法来查找List 控件中的项目。

例如:```vbDim index As Integerindex = List1.IndexOf("Apple") ' 这会返回"Apple" 在List 控件中的索引,如果没有找到则返回-1```5. **响应List 控件的事件**:你可以使用List 控件的某些事件,比如`Click` 或`DblClick` 来响应用户对List 的操作。

例如:```vbPrivate Sub List1_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles List1.Click' 这会在用户点击List 控件时执行End Sub```请注意,上述代码示例是针对的,如果你使用的是旧版的VB6,某些语法可能有所不同。

visual basic读取excel的方法 -回复

visual basic读取excel的方法 -回复

visual basic读取excel的方法-回复Visual Basic (VB) 是一种基于事件驱动的编程语言,广泛用于开发Microsoft Windows平台上的应用程序。

在VB中,我们可以使用Microsoft Office的对象模型来读取和处理Excel文件。

本文将分步介绍使用VB读取Excel文件的方法。

首先,我们需要在VB项目中添加对Microsoft Office的引用。

步骤如下:1. 打开VB项目,然后选择"项目"菜单,再选择"添加引用"。

2. 在弹出的对话框中,选择"COM"选项卡。

3. 滚动列表,找到"Microsoft Excel Object Library",然后勾选它。

4. 点击"确定"按钮,完成引用的添加。

接下来,我们需要创建一个Excel应用程序的实例,并打开Excel文件。

代码示例如下:vbDim xlApp As New Excel.ApplicationDim xlWorkBook As Excel.WorkbookDim xlWorkSheet As Excel.WorksheetxlWorkBook =xlApp.Workbooks.Open("C:\Path\To\Your\Excel\File.xlsx") xlWorkSheet = xlWorkBook.Sheets(1)上述代码中,我们创建了一个Excel应用程序实例`xlApp`,然后利用该实例打开了一个Excel文件。

其中,`"C:\Path\To\Your\Excel\File.xlsx"`表示你要读取的Excel文件的完整路径。

`Sheets(1)`表示我们打开文件后选择的是第一个工作表,你可以根据需求修改该参数。

接下来,我们可以使用各种方法来读取Excel文件中的数据。

excel via listview控件的基本用法

excel via listview控件的基本用法

excel via listview控件的基本用法Excel 是一套强大的电子表格软件,可以用来处理和分析大量数据。

ListView 控件是 Excel VBA 中的一个控件,用于显示和管理数据。

下面是 ListView 控件的一些基本用法:1. 创建 ListView 控件:在 VBA 编辑器中,选择你的用户窗体(UserForm),然后在工具箱中选择 ListView 控件,单击并在窗体上绘制一个矩形。

2. 添加列:右键点击 ListView 控件,选择“属性”,在属性窗口中选择“Columns”属性,然后单击“...”按钮。

在“Column Headers Editor”中,你可以添加列标题,并设置每个列的宽度、对齐方式等属性。

3. 添加行数据:使用 VBA 代码将数据添加到 ListView 控件中,可以使用下面的代码示例:```vbaDim item As ListItemSet item = ListView1.ListItems.Add(, , "数据1")item.SubItems.Add "数据2"item.SubItems.Add "数据3"```4. 删除行数据:使用 VBA 代码删除 ListView 控件中的某行数据,可以使用下面的代码示例:```vbaListView1.ListItems.Remove 1```5. 获取选中的行数据:使用 VBA 代码获取 ListView 控件中选中的行数据,可以使用下面的代码示例:```vbaDim selectedItem As ListItemSet selectedItem = ListView1.SelectedItemMsgBox selectedItem.TextMsgBox selectedItem.SubItems(1)```6. 清空所有行数据:使用 VBA 代码清空 ListView 控件中的所有行数据,可以使用下面的代码示例:```vbaListView1.ListItems.Clear```这些是 ListView 控件的一些基本用法,你可以根据自己的需求进一步扩展和定制。

VB读写EXCEL表

VB读写EXCEL表

VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便。

因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报表功能。

但由于VB与EXCEL由于分别属于不同的应用系统,如何把它们有机地结合在一起,是一个值得我们研究的课题。

一、VB读写EXCEL表:VB本身提自动化功能可以读写EXCEL表,其方法如下:1、在工程中引用Microsoft Excel类型库:从"工程”菜单中选择"引用”栏;选择Microsoft Excel 9。

0 Object Library(EXCEL2000),然后选择"确定”.表示在工程中要引用EXCEL类型库。

2、在通用对象的声明过程中定义EXCEL对象:Dim xlApp As Excel.ApplicationDim xlBook As Excel。

WorkBookDim xlSheet As Excel.Worksheet3、在程序中操作EXCEL表常用命令:Set xlApp = CreateObject("Excel。

Application”)’创建EXCEL对象Set xlBook = xlApp。

Workbooks.Open("文件名”)’打开已经存在的EXCEL工件簿文件xlApp.Visible = True '设置EXCEL对象可见(或不可见)Set xlSheet = xlBook.Worksheets(”表名") '设置活动工作表xlSheet。

Cells(row,col)=值’给单元格(row,col)赋值xlSheet。

PrintOut '打印工作表xlBook。

Close (True)'关闭工作簿xlApp.Quit ’结束EXCEL对象Set xlApp = Nothing '释放xlApp对象xlBook.RunAutoMacros (xlAutoOpen)’运行EXCEL启动宏xlBook。

使用vb语言查找表格控件内容的代码

使用vb语言查找表格控件内容的代码

使用vb语言查找表格控件内容的代码
在使用VB语言查找表格控件内容时,你通常会使用循环遍历表格中的每一行,并检查每个单元格的内容。

以下是一个简单的VB示例代码,用于查找表格控件中特定内容的行:
```vb
Private Sub查找内容_Click()
Dim目标内容As String
Dim行As Integer
Dim列As Integer
'设置要查找的目标内容
目标内容=输入框1.Text'假设你有一个文本框用于输入目标内容
'遍历表格控件中的每一行
For行=1To表格控件.Rows.Count
'遍历当前行的每一列
For列=1To表格控件.Columns.Count
'检查当前单元格的内容是否匹配目标内容
If表格控件.TextMatrix(行,列)=目标内容Then
'找到匹配,执行相应的操作,比如弹出消息框或者处理其他逻辑
MsgBox"找到目标内容在第"&行&"行,第"&列&"列。

"
Exit Sub'找到一次就退出循环
End If
Next列
Next行
'如果未找到目标内容
MsgBox"未找到目标内容。

"
End Sub
```
请注意,上述代码是一个简单的示例,具体的实现方式可能取决于你使用的表格控件类型。

在实际应用中,你可能需要根据具体情况调整代码,确保适配你使用的表格控件的属性和方法。

VB读取EXCEL数据转化为自定义格式控件

VB读取EXCEL数据转化为自定义格式控件

'实现读取EXCEL数据转化为格式字符串,并实现格式字符串的分配使用Option ExplicitPublic BaseX0 As Single '起始位置Public BaseY0 As SinglePublic xyScale As SinglePublic B_Ti As Single ' 磅值到绨的转化值Public ChoseColor As String '选择颜色'Public StatView As ObjectDim Mycell As CellsDim Ft As New StdFontDim BCtl As PictureBox '绑定的显示控件Dim Viewable As BooleanDim TmpLine As myLineDim TmpData As CellDataDim MyImages() As Image '附加的图片Dim MyImagesSta() As Image '附加图片的位置信息Dim OldArea As String '原始选择区域Dim TxtInput As TextBox '输入控件Dim inputFg As BooleanPrivate Type myLine '线条结构--26字节NoVIsable As Boolean '可显示否color As Long '颜色Style As Integer '线型0~6Weight As Integer '线宽x1 As Singley1 As Singlex2 As Singley2 As SingleEnd TypePrivate Type CellData '单元格的数据=22+lenb(text)NoVIsable As Boolean '可见否color As Long '颜色alignment As Integer '对齐方式WrapText As Boolean '自动换行Nfont As New StdFont '字体Style As Integer '线型Text As String '文本字符号x1 As Single '区域y1 As Single '左边位置width As Singleheight As SingleMergRange As String '包含区域End TypePrivate Type BaseinfoRol As Integer '行col As Integer '列width As Single '总宽height As Single '总高PaperSize As IntegerLeftMargn As Single '---页边距-单位cmTopMargn As SingleBottomMargn As SingleRightMargn As SingleOrientation As IntegerEnd TypePrivate Type Cells '单元集合Binf As BaseinfoLines() As myLineDataS() As CellDataEnd Type'----------------处理结构的函数Private Function GetLineString(L As myLine, Optional Spt As String = "") As String '获取线的If (Spt = "") Then Spt = Chr(8)Dim t As Stringt = L.color & Sptt = t & L.NoVIsable & Sptt = t & L.Style & Sptt = t & L.Weight & Sptt = t & L.x1 & Sptt = t & L.x2 & Sptt = t & L.y1 & Sptt = t & L.y2 & SptGetLineString = tEnd FunctionPrivate Function GetStringLine(ByVal str As String, Optional Spt As String = "") As myLine '获取线的If (Spt = "") Then Spt = Chr(8)Dim L As myLineDim t As Variantt = Split(str, Spt)L.color = t(0)If UCase(t(1)) = "TRUE" ThenL.NoVIsable = TrueElseL.NoVIsable = FalseEnd IfL.Style = t(2)L.Weight = t(3)L.x1 = Val(t(4))L.x2 = Val(t(5))L.y1 = Val(t(6))L.y2 = Val(t(7))GetStringLine = LEnd FunctionPrivate Function GetFontString(Ft As StdFont, Optional Spt As String = "") As String '获取字体的If (Spt = "") Then Spt = Chr(7)Dim t As Stringt = Ft.Bold & Sptt = t & Ft.Charset & Sptt = t & Ft.Italic & Sptt = t & & Sptt = t & Ft.Size & Sptt = t & Ft.Strikethrough & Sptt = t & Ft.Underline & Sptt = t & Ft.Weight & SptGetFontString = tEnd FunctionPrivate Sub GetStringFont(ByVal str As String, Optional Spt As String = "") 'As StdFont '获取字体的If (Spt = "") Then Spt = Chr(7)Dim t As Variant'Dim Ft As New StdFontt = Split(str, Spt)Ft.Bold = t(0)Ft.Charset = t(1)Ft.Italic = t(2) = t(3)Ft.Size = t(4)Ft.Strikethrough = t(5)Ft.Underline = t(6)Ft.Weight = t(7)' GetStringFont = FtEnd SubPrivate Function GetBaseInfoString(bf As Baseinfo, Optional Spt As String = "") As String '基础信息的If (Spt = "") Then Spt = Chr(8)Dim t As Stringt = bf.BottomMargn & Sptt = t & bf.col & Sptt = t & bf.height & Sptt = t & bf.LeftMargn & Sptt = t & bf.PaperSize & Sptt = t & bf.RightMargn & Sptt = t & bf.Rol & Sptt = t & bf.TopMargn & Sptt = t & bf.width & Sptt = t & bf.Orientation & SptGetBaseInfoString = tEnd FunctionPrivate Function GetStringBaseInfo(ByVal str As String, Optional Spt As String = "") As Baseinfo '基础信息的If (Spt = "") Then Spt = Chr(8)Dim t As VariantDim bf As Baseinfot = Split(str, Spt)bf.BottomMargn = t(0)bf.col = t(1)bf.height = t(2)bf.LeftMargn = t(3)bf.PaperSize = t(4)bf.RightMargn = t(5)bf.Rol = t(6)bf.TopMargn = t(7)bf.width = t(8)bf.Orientation = t(9)GetStringBaseInfo = bfEnd FunctionPrivate Function GetDataString(D As CellData, Optional Spt As String = "") As String '获取数据的If (Spt = "") Then Spt = Chr(6)Dim t As Stringt = D.alignment & Sptt = t & D.color & Sptt = t & D.height & Sptt = t & D.MergRange & Sptt = t & GetFontString(D.Nfont) & Sptt = t & D.NoVIsable & Sptt = t & D.Text & Sptt = t & D.width & Sptt = t & D.WrapText & Sptt = t & D.x1 & Sptt = t & D.y1 & Sptt = t & D.Style & SptGetDataString = tEnd FunctionPrivate Function GetStringData(ByVal str As String, Optional Spt As String = "") As CellData '获取字符串对应的数据的If (Spt = "") Then Spt = Chr(6)Dim t As VariantDim D As CellDataOn Error Resume Nextt = Split(str, Spt)If (t(5) = True) ThenD.NoVIsable = t(5)D.MergRange = t(3)GetStringData = DD.MergRange = t(3)Exit FunctionEnd IfD.alignment = t(0)D.color = t(1)D.height = Val(t(2))D.MergRange = t(3)Call GetStringFont(t(4))D.Nfont.Bold = Ft.BoldD.Nfont.Charset = Ft.CharsetD.Nfont.Italic = Ft.Italic = D.Nfont.Size = Ft.SizeD.Nfont.Strikethrough = Ft.StrikethroughD.Nfont.Underline = Ft.UnderlineD.Nfont.Weight = Ft.WeightD.NoVIsable = t(5)D.Text = t(6)D.width = t(7)D.WrapText = t(8)D.x1 = t(9)D.y1 = t(10)D.Style = t(11)GetStringData = DEnd FunctionPrivate Function GetCellString(Cs As Cells) As String '读取单元格数据字符串Dim t As String, tmp As StringDim i As Integer, j As IntegerDim lg As LongOn Error GoTo erdt = GetBaseInfoString(Cs.Binf) & Chr(3) '基础信息tmp = GetLineString(Cs.Lines(0)) & Chr(4) '线信息lg = Cs.Binf.Rol * (Cs.Binf.col + 1) + (Cs.Binf.Rol + 1) * Cs.Binf.colFor i = 1 To lgtmp = tmp & GetLineString(Cs.Lines(i)) & Chr(4)Nextt = t & tmp & Chr(3)tmp = GetDataString(Cs.DataS(0)) & Chr(4) '数据信息lg = Cs.Binf.Rol * Cs.Binf.colFor i = 1 To lgIf (i = 30) ThenDebug.Print Cs.DataS(i).MergRangeEnd Iftmp = tmp & GetDataString(Cs.DataS(i)) & Chr(4)Nextt = t & tmpGetCellString = terd:End FunctionPrivate Function GetStringCell(str As String) As Cells '返回字符串对应的单元格数据Dim t As Variant, tmp As VariantDim i As Integer, j As Integer, Rol As Integer, col As IntegerDim lg As LongDim Cs As CellsOn Error Resume NextIf (str = "") Then Exit Functiont = Split(str, Chr(3))Cs.Binf = GetStringBaseInfo(t(0)) '基础信息恢复Rol = Cs.Binf.Rolcol = Cs.Binf.coltmp = Split(t(1), Chr(4))lg = Rol * (col + 1) + col * (Rol + 1)If (InitCells(Cs, Rol, col) = False) ThenMsgBox ("转换失败")Exit FunctionEnd Iflg = Cs.Binf.Rol * (Cs.Binf.col + 1) + (Cs.Binf.Rol + 1) * Cs.Binf.colFor i = 0 To lgCs.Lines(i) = GetStringLine(tmp(i))Nexttmp = Split(t(2), Chr(4))lg = Rol * colFor i = 0 To lgIf (i = 30) ThenDebug.Print Cs.DataS(i).MergRangeEnd IfCs.DataS(i) = GetStringData(tmp(i))NextGetStringCell = CsEnd Function'--------------------'------------------Private Sub Class_Initialize() '初始化BaseX0 = 0BaseY0 = 0xyScale = 1B_Ti = 22ChoseColor = RGB(32, 32, 32)InitCells Mycell, 1, 1 '初始化为1行1列的Viewable = FalseinputFg = FalseEnd Sub'---------------------------------------------------------------------------------------------Private Function InitCells(ByRef Os As Cells, Rol As Integer, col As Integer) As Boolean '初始化单元格集合On Error GoTo erdOs.Binf.Rol = RolOs.Binf.col = col'Os.Binf.height = 1' Os.Binf.width = 1Os.Binf.PaperSize = vbPRPSA4 '缺省weiA4纸ReDim Os.Lines(col * (Rol + 1) + Rol * (col + 1)) '每个列加1,每个行加1先横线,再竖线ReDim Os.DataS(Rol * col)OldArea = "" '进行初始化需要消除原始选择InitCells = TrueIf (inputFg) ThenTxtInput.Visible = FalseEnd IfExit Functionerd:InitCells = FalseEnd Function'-----------------------------------------------------EXCEL处理------------------'---------------------------------------------------------'----------------------------------------------------------Private Function XlsString(Rol As Integer, col As Integer, Optional R2 As Integer = 0, Optional C2 As Integer = 0) As String '--返回指定位置的单元格区域字符串If (R2 = 0) ThenXlsString = "$" & Chr(col + 64) & "$" & RolElseXlsString = "$" & Chr(col + 64) & "$" & Rol & ":" & "$" & Chr(C2 + 64) & "$" & R2End IfEnd FunctionPrivate Function XlsRolCol(RangeS As String) As Variant '返回单元格区域字符串对应的行、列。

用VB快速读取EXCEL中的数据到数组中的例子

用VB快速读取EXCEL中的数据到数组中的例子

用VB快速读取EXCEL中的数据到数组中的例子'┏〓〓〓〓〓〓〓〓〓 GetExcelRs,start 〓〓〓〓〓〓〓〓〓┓'[简介]:'VB读取EXCEL工作薄某个表中数据Function GetExcelRs(ByVal sFile As String, Optional ExcelShe etName As String = "sheet1", Optional ErrInfo As String) As AD ODB.Recordset'VB源码,帮你写函数,帮你写代码,帮你写模块,帮你设计软件'--需要什么函数或功能,可以联系我。

'版权所有,请保留作者信息.QQ:1085992075'如需商业用途请联系作者On Error GoTo ErrDim RS As ADODB.RecordsetSet RS = New ADODB.RecordsetDim ConnStr As StringConnStr = "DRIVER=Microsoft Excel Driver (*.xls);" & "DBQ =" & sFile & ";ReadOnly=False"RS.Open "SELECT * FROM [" & ExcelSheetName & "$]", Con nStr, 1, 3Set GetExcelRs = RSSet RS = NothingExit FunctionErr:ErrInfo = Err.DescriptionMsgBox ErrInfoEnd Function'┗〓〓〓〓〓〓〓〓〓 GetExcelRs,end 〓〓〓〓〓〓〓注意:本例题程序必须引用 Microsoft Excel 11.0 Object LibraryVisual Basic code?1234 5 6 7 8 9101112131415161718192021222324252627 'Form = Command1'引用Microsoft Excel 11.0 Object Library'完成效果:在D盘下建立一个名字为2的excel文件文件中的第5列第5行有“成功字样”'*************下面是代码***************Dim xlapp As Excel.ApplicationDim xlbook As Excel.WorkbookDim xlsheet As Excel.WorksheetPrivate Sub Command1_Click()Set xlapp = CreateObject("Excel.Application") '创建EXCEL对象Set xlbook = xlapp.Workbooks.Add()Set xlsheet = xlbook.Worksheets("Sheet1") '设置活动工作表xlsheet.Cells(5, 5) = "成功" '向第五行第五列写入该数据xlbook.SaveAs "D:.xls" '另存文件xlbook.Close '关闭工作簿Set xlbook = Nothing '从内存中清除xlapp.Quit '关闭excelSet xlapp = Nothing '从内存中清除End Sub。

VB中ListView的用法

VB中ListView的用法

VB中ListView的用法listview控件可有4种不同的视图显示方法,跟“资源管理器”里的“查看”方式相似:(1)无图标;(2)小图标;(3)列表;(4)报表式。

使用哪种视图,可由该控件的view属性设置控制。

其中“报表”视图用来显示记录数据很适合。

listview控件包括listItem对象与ColumnHeader对象。

本人简单理解为:listItem对象看成数据行;ColumnHeader 对象看成列标题。

listItem对象(行)有两部分:一部分是图标与简要描述的文本(第1列);另一部分是前者的子项文本信息(第2列,第3列......)。

而listItems即是对listItem对象集合(所有行)的引用。

故此,listItems(1) 可以表示为第1行;listitems(1).text 返回第1行第1列的文本值;listitems(1).subItem(1) 返回第1行第2列的文本值。

【控件常用属性】[1]view属性该属性有4个值可设定:1---小图标视图显示2---列表3---报表0---无图标(默认)[2]AllowColumnReorder属性值设置.t.时,用户可以用鼠标选中1列拖至其他地方进行重新排列。

[3]Checkboxes属性设置为.t.时,每一行数据前将显示一复选框。

[4]FlatScrollBar属性设置为.f.时控件将显示滚动条。

[5]FullRowSelect属性设置为.t.时可以整行地选择数据。

[6]GridLines属性设置为.t.时控件将显示网格线。

(只作用于“报表”视图)[7]HideColumnHeaders属性设置为.f.时,列标题可视,反之则不可视。

[8]HotTracking属性设置为.t.时,鼠标所在行将以高亮度显示。

[9]Icons,SmallIcons属性两者设置listview控件视图相关联的ImageList控件中的图片。

Icons指明视图为大图标时的关联;SmallIcons指明视图为小图标时的关联。

C#如何读取Excel表格数据并显示到GridView控件

C#如何读取Excel表格数据并显示到GridView控件

C#如何读取Excel表格数据并显示到GridView控件2008/05/06 00:36近日,有个项目,需要用 Web 形式将 Excel 表格中的数据导入到数据库中,为了简化问题的解决,现在先将表中数据导入到 GridView 控件上.代码如下:protected void Button1_Click(object sender, EventArgs e)...{string filepath=FileUpload1.PostedFile.FileName;ReadExcel(filepath, gdBom);}public void ReadExcel(string sExcelFile,GridView dgBom)...{DataTable ExcelTable;DataSet ds = new DataSet();//Excel的连接OleDbConnection objConn = newOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sExcelFile + ";" + "Extended Properties=Excel 8.0;");objConn.Open();DataTable schemaTable =objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);string tableName = schemaTable.Rows[0][2].ToString().Trim();//获取 Excel 的表名,默认值是sheet1string strSql = "select * from [" + tableName + "]";OleDbCommand objCmd = new OleDbCommand(strSql, objConn);OleDbDataAdapter myData = new OleDbDataAdapter(strSql, objConn);myData.Fill(ds, tableName);//填充数据dgBom.DataSource =ds;dgBom.DataBind();objConn.Close();ExcelTable = ds.Tables[tableName];int iColums = ExcelTable.Columns.Count;//列数int iRows = ExcelTable.Rows.Count;//行数//定义二维数组存储 Excel 表中读取的数据string[,] storedata = new string[iRows, iColums];for(int i=0;i<ExcelTable.Rows.Count;i++)for (int j = 0; j < ExcelTable.Columns.Count; j++)...{//将Excel表中的数据存储到数组storedata[i, j] = ExcelTable.Rows[i][j].ToString();}int excelBom = 0;//记录表中有用信息的行数,有用信息是指除去表的标题和表的栏目,本例中表的用用信息是从第三行开始//确定有用的行数for (int k = 2; k < ExcelTable.Rows.Count; k++)if (storedata[k, 1] != "")excelBom++;if (excelBom == 0)...{Response.Write("<script language=javascript>alert('您导入的表格不合格式!')</script>");}else...{//LoadDataToDataBase(storedata,excelBom)//该函数主要负责将 storedata 中有用的数据写入到数据库中,在此不是问题的关键省略}}运行效果如下图:选择BOM表的路径,点确定后类别:c#| | 添加到搜藏 | 分享到i贴吧 | 浏览(1391) | 评论 (7)上一篇:验证文件上传有效类型的正则表达...下一篇:C#数值结果表(格式化字符串)相关文章:•sun:将gridview控件中数据以指•怎样将Gridview控件的内容导出定...为...•类型"GridView"的控件必须放在...•用户控件上的GridView如何导入,...•使用Gridview空间导出到Excel,Gr...•的GridView控件中的数据...• 2.0,C#----利用GridView...•扩展GridView 控件—支持Excel ...•GridView 不使用数据源控件,导出...•VB,C# GridView导出到excel,data...更多>>使用C#读取Word表格数据读取Word表格数据的方法1//将读取Word表格封装与方法中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

竭诚为您提供优质文档/双击可除
vb,读取excel表格数据并在listview
控件中显示
篇一:Vb用listView读取excel实例
Vb用listView读取excel实例
第一步:用excel创建成绩表,如下图示例
第二步:打开Vb6创建一工程、标准窗口
第三步:引用excel,在菜单栏,工程——引用,如下图
第四步:在工具栏加载控件microsoftwindowscommoncontrols6.0(sp6),如下图第五步:在标准窗口加入listview控件,控件属性设置如下图
在“列首”标签添加字段名,如下图
第五步:编写代码
dimxlappasexcel.application
privatesubForm_load()
setxlapp=createobject("excel.application")
xlapp.Visible=False
xlapp.workbooks.openapp.path查找列中所有的单元格setlitem=listView1.listitems.add()
litem.text=xlapp.Range("a"checkifemptydataRow
blnnullRow=true
Forinti=1to10
iftrim$(objimportsheet.cells(intcounti,inti).Value) ""then
blnnullRow=False
endif
nextinti
若不是空行,则进行读取动作,否则继续向后遍历excel 中的行
ifblnnullRow=Falsethen
获取单元格中的数据,做有效性check,并将合法数据创建为实体存入对象数组中
objimportsheet.cells(intcounti,1).Value
……
endif
nextintcounti
5、退出excel进程,并关闭excel相关操作对象
objexcelFile.quit
setobjworkbook=nothing
setobjimportsheet=nothing
setobjexcelFile=nothing
篇三:vb代码读取excel数据源
取得excel文件所有内容:
addmicrosoftadofrist.
privatesubcommand2_click()
dimadoconnectionasnewadodb.connection
dimadoRecordsetasnewadodb.Recordset
commondialog1.showopen
oledb+odbcdriver方式:
adoconnection.open"dataprovider=msdasql.1;driver=mi crosoftexceldriver(*.xls);dbq=e:\temp\book2.xls"
microsoft.jet.oledb.4.0方式,(建)
adoconnection.open"provider=microsoft.jet.oledb.4.0 ;persist
securityinfo=False;datasource="extendedproperties=e
xcel8.0;hdR=yes"
adoRecordset.open"select*from[sheet1$]",adoconnecti on,adopenkeyset,adlockoptimistic
debug.printadoRecordset.Recordcount
dimiasinteger
dountiladoRecordset.eoF
Fori=0toadoRecordset.Fields.count-1
debug.printadoRecordset.Fields.item(0).name
debug.printadoRecordset.Fields.item(0).Value
nexti
adoRecordset.movenext
loop
endsub
但还不知道如何取得sheet名,不好意思,那位老鸟知道请告知,谢谢sheet名用excel.application对象dimxlappasexcel.application
dimxlbookasexcel.workbook
setxlapp=newexcel.application
setxlbook=xlapp.workbooks.open("c;\123.xls"))
Fori=1tointsheetsum
strtemp=xlbook.worksheets(i).name。

相关文档
最新文档