我创建了一个网页,员工可以在其中上传 Excel xlsx 文档进行处理,如果满足要求,则返回相同的文档并填写某些关键单元格。它可以工作,但我对它的运行速度不满意。通过 2,500 行需要几分钟。
它运行如下:用户上传文档->服务器端打开excel文档并逐行执行->如果当前行的第31列!= 10然后连接到SQL并根据第5列执行查询。->查询结果进入该行第 35 列。-> 下一行。冲洗并重复。-> 完成后,将文件返回给用户。
虽然这有效,但它也相当慢。有人对解决此问题的更好方法有任何想法吗?
For n = 2 To excelWorkSheet.Rows.Count
Dim thing As String = excelWorkSheet.Cells(n, 5).Value
'only until empty row
If excelWorkSheet.Cells(n, 5).Value = "" Then
Exit For
End If
If excelWorkSheet.Cells(n, 31).Value <> "10" Then
strSQL = "EXEC sp_Lookup_Type " & thing
cmd.CommandText = strSQL
cmd.Connection = cn
rdrSQL = cmd.ExecuteReader()
While rdrSQL.Read()
If Not IsDBNull(rdrSQL("TYPE")) Then
excelWorkSheet.Cells(n, 35).Value = rdrSQL("TYPE")
Else
excelWorkSheet.Cells(n, 35).Value = "NO DATA"
End If
End While
cmd.Dispose()
rdrSQL.Close()
End If
Next
cn.Close()