栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

VB.NET利用openXML读取EXCEL数据(一)

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

VB.NET利用openXML读取EXCEL数据(一)

VB.NET利用openXML读取EXCEL数据(一)

我学问浅薄,是VB的死忠。
因为个人爱好,喜欢编编程序,提高工作效率。一直在用vb6,没有改变。
因为需要我在21年学了vb.net,因为64位的office无法使用vb6代码。我原来的代码需要将excel数据导入word,以前一直用oledb。但很多同事没有安装access引擎,wps的根本就没有,下载了access引擎又和源office冲突,调试很麻烦,很多又装不上。于是准备改用openxml。
用openxml问题又来了,网上全是C#的openxml,根本就没有vb.net代码。研究了1个月,终于搞定了如何读excel文件,虽然很多还是不懂,但基本可以用了。我认为用openxml写excel会更难,需要的知识更多。
现在我把vb.net的关于openxml的代码共享出来,给予所有准备用vb.net的盆友躲坑用,也请专业人士给予指教建议和帮助。

一、Excel的workbook对象的建立
为了操作简单,我编写的类,完全是对应Excel com加载项的操作方法,把多余的忽略掉了。比如:取单元格的值,excel是xlbook.worksheets(sheetname).cells(1,1).value,在openxml中,我就设置成了xmlclass.getcellvalue(sheetname,“A1”)

先引用:

Imports DocumentFormat.OpenXml
'Imports DocumentFormat.OpenXml.Office
Imports DocumentFormat.OpenXml.Packaging
'Imports DocumentFormat.OpenXml.Presentation
Imports DocumentFormat.OpenXml.Wordprocessing
Imports DocumentFormat.OpenXml.Spreadsheet

Imports System
Imports System.IO
Imports System.Linq
Imports System.Xml
Imports System.Collections.Generic

Imports System.Collections

Imports System.Text.RegularExpressions

建立一个workbook对象,这个和vb操作workbook一样
‘’’
‘’’ 取得工作簿对象
‘’’
‘’’ 文件名称
‘’’
‘’’
Private Function xmlGetWorkbook(ByVal BookFileName As String) As Boolean

    On Error GoTo csErr

    Dim fileStream As New FileStream(BookFileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
    
    spreadsheetDocument = spreadsheetDocument.Open(fileStream, False)

    xlBookPart = spreadsheetDocument.WorkbookPart
    
    Return True

csErr:
Debug.Print(“in xmlGetWorkbook,err:” & Err.Description)
Return False

End Function

这个和网上的c#代码基本一致,不同的是用了FileStream打开文件。 网上代码大部分是直接打开,这样存在一个问题,就是excel文件成为只读,被占用了。
(未完待续)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/911498.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号