首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用VB.net获取excel文件的确切行数?

如何用VB.net获取excel文件的确切行数?
EN

Stack Overflow用户
提问于 2012-09-05 19:02:31
回答 4查看 27.5K关注 0票数 1

我刚刚开始使用VB.net,在我的应用程序中,我需要在excel文件中有确切的使用行数我看了这篇文章Reading line count using vb.net我尝试了所有的答案,但我从来没有得到确切的行数,我也尝试了一些网站的其他代码,但什么也没有!有谁能帮帮我吗?

你好,实际上我使用的是SQL SERVER 2008,我试过这段代码。

代码语言:javascript
复制
Imports System.Diagnostics.Process
Imports System.IO
Imports System.Data.DataTable
Imports Microsoft.Office.Tools
Imports Excel
Imports Microsoft.Office.Interop

Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As  System.EventArgs) Handles Button1.Click
        Dim selectedFile As String = String.Empty

        OpenFileDialog1.ShowDialog()
        selectedFile = OpenFileDialog1.FileName

        If (selectedFile IsNot Nothing) Then
            ListBox1.Items.Add(selectedFile)

        End If
    End Sub

    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        Dim fullPath As String
        Dim fileResult As String
        Dim numRow As Integer
        fullPath = Path.GetFullPath(ListBox1.SelectedItem)

        fileResult = Path.GetFileName(fullPath)
        Dim file_count As Integer = File.ReadAllLines(fullPath).Length
        MsgBox(file_count)

但是再一次,计数不正确,我真的不知道为什么!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-09-14 22:57:45

你好,我终于得到了解决方案:

代码语言:javascript
复制
Imports Microsoft.Office.Interop.Excel
Imports System.Data.DataTable
Imports Microsoft.Office.Interop

private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
    Dim fullPath As String
    Dim fileResult As String
    Dim numRow As Integer
    fullPath = Path.GetFullPath(ListBox1.SelectedItem)

    fileResult = Path.GetFileName(fullPath)

    Dim obook As Excel.Workbook
    Dim oapp As Excel.Application
    oapp = New Excel.Application
    obook = oapp.Workbooks.Open(fullPath)
    numRow = 3

    While (obook.ActiveSheet.Cells(numRow, 1).Value IsNot Nothing)
        numRow = numRow + 1
    End While

    MsgBox(numRow)

End Sub

并且你必须添加下面的引用:

代码语言:javascript
复制
Microsoft Excel 12.0 Library
Microsoft Office 12.0 Library
Microsoft Office Tools v9.0
Microsoft visual Basic for application extensibility

希望它能有所帮助:)

票数 2
EN

Stack Overflow用户

发布于 2014-02-28 02:13:19

我想要使用Microsoft.Office.Interop.Excel和vb.net 2010将excel工作表导入SQL2008的例程中使用的行,并且只使用:

usedRowsCount = xlWorksheet.UsedRange.Rows.Count

票数 5
EN

Stack Overflow用户

发布于 2012-09-05 19:59:54

将excel文件中的数据导入数据表,并对数据行进行统计。

代码语言:javascript
复制
Public Class Form1

    Private Sub getexcelfile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim excelfile As New OpenFileDialog()
        excelfile.ShowDialog()
        If (excelfile.ShowDialog() = DialogResult.Cancel) Then
            Return
        Else
            Dim file As String = excelfile.FileName
            Dim str As String = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + file + ";Extended Properties=Excel 8.0;"
            Dim con As New OleDb.OleDbConnection(str)
            con.Open()
            Dim ds As New OleDb.OleDbDataAdapter("Select * from [Sheet1$]", con)
            Dim dt As New DataTable()
            ds.Fill(dt)
            Dim rowcount As Integer
            rowcount = dt.Rows.Count()

        End If

    End Sub
End Class
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12280007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档