VB.NET 打开Excel文件,读取Excel内容,添加到DataGridView中并显示
'Excel添加:工程->参照追加→COM→Microsoft Excel *.* ObjectLibrary
'DataGridView 列枚举型定义
Private Enum DGV_ENUM
COL_ROW
COL_NAME
COL_AGE
End Enum
'Excel 列枚举型定义
Private Enum XLS_COL_ENUM
COL_ROW
COL_NAME
COL_AGE
End Enum
Private Sub BTN_LOAD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesBTN_LOAD.Click
Dim xlAppExcelFile As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim intColNum As Integer
Dim intRowNum As Integer
Dim blnAddRow As Boolean
'生成新的instance
xlAppExcelFile = New Excel.Application
'在已有的Excel,指定文件路径,打开Book
xlBook = xlAppExcelFile.Workbooks.Open("文件路径")
'不表示Excel
xlAppExcelFile.Visible = False
'禁止显示对话框和警告消息
xlAppExcelFile.DisplayAlerts = False
'取消任务栏中的窗口选项
xlAppExcelFile.ShowWindowsInTaskbar = False
xlSheet = xlBook.Sheets(1)
intRowNum = xlSheet.UsedRange.Rows.Count
intColNum = xlSheet.UsedRange.Columns.Count
For intXlsI As Integer = 1 To intRowNum
'Excel中名字空的话、… … 很出。
If Trim$(xlSheet.Cells(intXlsI, XLS_COL_ENUM.COL_NAME).Value).Equals(String.Empty)Then
… …
Exit For'退出整个循环(intXlsI)。
'Continue For 退出当前循环。
End If
'将Excel读取放到DataGridView
''RemoveHandler DGV.Invalidated, AddressOf DGV_Invalidated
Me.DGV.AllowUserToAddRows = False
Me.DGV.AllowUserToDeleteRows = False
Dim intRowCnt As Integer = Me.DGV_EDIT.Rows.Add()
DGV.Value(DGV_ENUM.COL_ROW, intRowCnt) = Trim$(xlSheet.Cells(intXlsI, XLS_COL_ENUM.COL_ROW).Value)
'如果DataGridView中有Combo Box控件,不能将Combo Box的Code值直接赋值,是整个值。
'例: A:小王 B:小张 不能将Code A或B,赋到Grid中的Combo Box。用[A:小王]-> OK
CMB_HIDE_NAME_LIST.SetSelectCondition("Combo Box的Code值")
DGV.Value(DGV_ENUM.COL_NAME, intRowCnt) = CMB_HIDE_NAME_LIST.SelectedItem
DGV.Value(DGV_ENUM.COL_AGE, intRowCnt) = Trim$(xlSheet.Cells(intXlsI, XLS_COL_ENUM.COL_AGE).Value)
Me.DGV.AllowUserToAddRows = True
Me.DGV.AllowUserToDeleteRows = True
''AddHandler DGV.Invalidated, AddressOf DGV_Invalidated
Next intXlsI
'Excel 终了(关闭会有一定的延时)
xlSheet = Nothing
xlbook.Close()
xlBook = Nothing
xlAppExcelFile.Quit()
xlAppExcelFile = Nothing
'System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBook)
'System.Runtime.InteropServices.Marshal.ReleaseComObject(xlAppExcelFile)
End Sub
'@******************************************************************************
'@ 名 称: DGV_EDIT_KeyDown
'@ 内 容: 用DEL键,删除GridView当前行
'@ 备 考:
'@******************************************************************************
Private Sub DGV_EDIT_KeyDown(ByVal sender As System.Object, ByVal e AsSystem.Windows.Forms.KeyEventArgs) Handles DGV_EDIT.KeyDown
'Me.DGV_EDIT.AllowUserToAddRows = True(自动添加行)
If DGV_EDIT.CurrentRow.Index <> DGV_EDIT.Rows.Count - 1 Then
If e.KeyCode = Keys.Delete Then
DGV_EDIT.Rows.RemoveAt(DGV_EDIT.CurrentRow.Index)
DGV_EDIT.Refresh()
End If
End If
End Sub
VB.NET 打开Excel文件,读取Excel内容,添加到DataGridView中并显示相关推荐
- C#操作Excel文件(读取Excel,写入Excel)
看到论坛里面不断有人提问关于读取excel和导入excel的相关问题.闲暇时间将我所知道的对excel的操作加以总结,现在共享大家,希望给大家能够给大家带了一定的帮助. 另外我们还要注意一些简单的问题 ...
- java excel文件读取的内容_java读取Excel文件指定内容
--边学习边记录~ 最近需要用到从外部文件导入测试数据,因而上网查了一些读取excel文件这方面的代码,然后修改后适用于现有场景中(得到excel中指定单元格的内容). 导入的jar:poi-3.16 ...
- .net OleDb 导入Excel文件 读取数据内容
1:安装最新版 System.Data.OleDb 2:调用代码如下 [HttpPost, HttpGet]public ObjectResult SelExcelData(){JObject job ...
- 【Excel VBA】逐个读取Excel文件并将内容复制到汇总表中——每月自动汇总考勤数据实例
纲举目张 说明 关键技术点:Workbooks.Open 代码code 运行效果图 使用说明 说明 上一讲[Excel VBA]利用数组.集合.循环等检查各单位报送情况--每月自动汇总考勤数据实例已经 ...
- php 读取解析excel文件内容,怎么用PHP读取Excel文件信息及内容?(图文+视频教程)...
本篇文章将要给大家详细介绍如何用PHP读取Excel文件数据及内容信息. 在文章开始介绍前,大家需要了解一下PHPExcel是什么?PHPExcel 就是一个用来操作Office Excel 文档的P ...
- 超大Excel文件读取(支持50w+)(三)
超大Excel文件读取(支持50w+) 1 线上内存溢出问题演示 环境准备 准备一个大的excel文件(xlsx大小10M及以上) 将jvm的heap缩小到500m(JVM 参数 -Xmx500m)用 ...
- Python之Excel文件读取
今天研究了一下Python对Excel文件的读取,在此分享一下. 1.模块安装 想通过python对Excel文件进行处理,需要安装以下几个模块: pip install xlrd pip insta ...
- matlab如何读取excel文件中的数据?_Python自动化之从Excel文件读取数据
前言: 在Python语言,常用的excel读写库有xrld和openpyxl两个,当然pandas库也可以从excel文件中读取数据,但这里不建议使用.有个问题就是,xrld只能用于读取数据而不能用 ...
- java struts2 excel上传_文件上传方法,使用Struts2,实现Excel文件读取并写入数据库技术...
文件上传方法,使用Struts2,实现Excel文件读取并写入数据库技术 如题:文件信息的批量导入-- 项目中经常会遇到客户的一些单表信息的数据批量导入,也就是提供定制Excel表,再把Excel表中 ...
最新文章
- Java 的面向接口编程
- VMWARE VCSA 6.5安装过程
- CentOS6 下Samba服务器的安装与配置
- MySQL数据库操作指令
- UVa 400 Unix Is
- linux shell let命令,linux shell let, expr 命令详解
- 更改计算机启动读盘,BIOS设置硬盘启动|BIOS启动里怎么更改启动盘
- JSZip,saveAs压缩保存文件
- 甲每秒跑3米,乙每秒跑4米,丙每秒跑2米,三人沿600米的环形跑道从同一地点同时同方向跑步,经过多少时间三人又同时从出发点出发?
- golang中的strings.ToLower
- Siggraph2019 RealTimeRender“观影推荐”
- python打字测试源码,在线打字
- linux打印机验证密码,HP LaserJet Pro打印机远程管理员密码泄露漏洞
- 【QQ音乐Html + CSS静态笔记】
- Caused by: org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'dao' is exp
- MySql基本查询、连接查询、子查询、正则表达查询讲解
- HTTP代理ip的API接口怎么用?
- 2020暑假集训项目——Java简易聊天室
- SystemVue 介绍
- java性能实战_【从零单排】Java性能排查实战模拟
热门文章
- 自动对焦模块理论基础及其硬件实现浅析(一)
- 美国第一个设置计算机学科的学校,美国普渡大学希拉法叶校区
- 浅谈nvme sata pci-e m.2,协议 总线 接口的关系。
- 非平衡电桥电阻计算_非平衡电阻电桥等效电阻的初等解析
- Codeforces Round #764 (Div. 3)部分题解
- 节日贺卡python制作
- 控制Unity中脚本的运行顺序
- android代码实现手机加速功能吗,详解Android开发中硬件加速支持的使用方法
- teraterm乱码linux,[Unity3D][转] 关于Assets资源目录结构管理
- MGR 8.0 + ProxySQL 2.0 部署实录