Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 循环Excel文件中的每一行_Asp.net_Vb.net_Excel - Fatal编程技术网

Asp.net 循环Excel文件中的每一行

Asp.net 循环Excel文件中的每一行,asp.net,vb.net,excel,Asp.net,Vb.net,Excel,我有一个包含许多列的Excel文件,但我只需要列名称、成本和时间。我需要逐行在Excel中循环,但对于“名称/成本/时间”列,则需要将值保存在变量中 If FileUpload1.HasFile = False Then Exit Sub Else Dim FileName As String = Path.GetFileName(FileUpload1.PostedFile.FileName) Dim Extension As Str

我有一个包含许多列的Excel文件,但我只需要列
名称
成本
时间
。我需要逐行在Excel中循环,但对于“名称/成本/时间”列,则需要将值保存在变量中

 If FileUpload1.HasFile = False Then

        Exit Sub
    Else
        Dim FileName As String = Path.GetFileName(FileUpload1.PostedFile.FileName)
        Dim Extension As String = Path.GetExtension(FileUpload1.PostedFile.FileName)
        'Dim FolderPath As String = ConfigurationManager.AppSettings("Upload")

 Protected Sub ButtonVerify_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonVerify.Click


    If FileUpload1.HasFile = False Then

        Exit Sub
    Else
        Dim FileName As String = Path.GetFileName(FileUpload1.PostedFile.FileName)
        Dim Extension As String = Path.GetExtension(FileUpload1.PostedFile.FileName)
        'Dim FolderPath As String = ConfigurationManager.AppSettings("Upload")

        Dim FilePath As String = Server.MapPath("~") & "\Upload\" & FileName
        FileUpload1.SaveAs(FilePath)

        Dim existingFile = New FileInfo(FilePath)
        Dim pack As ExcelPackage = New ExcelPackage(existingFile)
        Dim workBook As ExcelWorkbook = pack.Workbook


        If workBook.Worksheets.Count > 0 Then
            Dim currentWorksheet As ExcelWorksheet = workBook.Worksheets.First()


            Dim Requester As String = currentWorksheet.Cells(30, 2).Value

        End If

    End If

    LBL_Error.Text = Nothing

    LBL_Status.Text = "Your file have been upload in your form. Please complete your Sample Order!"
End Sub

其中
如果workBook.Worksheets.Count>0
则我需要循环单元格中的每个值,并最终计算框中所有时间的平均值。

要仅循环某些列的行,可以执行以下操作:

Dim WB As Excel.Workbook
Dim WS As Excel.Worksheet
Dim DateRng As Excel.Range
Dim AccountsRng As Excel.Range
Dim i As Long

WB = xlApp.Workbooks.Add
WS = WB.Worksheets("Sheet1")

DateRng = WS.Columns(2)     ' Change the '2' as necessary.

With DateRng
    For i = 1 To .Count
      'Do your stuff
    Next i
End With
通过这种方式,您可以根据以下说明选择要使用的列:


Excel.Worksheet.Columns(1)将成为您的A列

XlApp是什么?dat有问题吗?将XlApp作为新的Excel.Application