私はexcelファイルから読み込み、テーブルにデータを入れるVB.Netアプリケーションを作成しました。 3列と65000行のExcelシートを使用しました。 私のマシンのCPU使用率は約15%ですが、CPU使用率は95%まで上昇しています。 なぜ起きているのですか?誰かがこの問題で私を助けることができますか?事前にExcelファイルを読み込み中にCPU使用率が100%になる?
Private Sub readFromExcel(ByVal fileName As String, ByVal sheetName As String)
Dim connString As String = "data source=XE; user=test; password=test"
Dim con As New OracleConnection(connString)
Dim str1 As String
Dim str2 As String
Dim str3 As String
Dim xlApp As Excel.Application
Dim xlWorkBook As Excel.Workbook
Dim xlWorkSheet As Excel.Worksheet
xlApp = New Excel.ApplicationClass
xlWorkBook = xlApp.Workbooks.Open(fileName)
xlWorkSheet = xlWorkBook.Worksheets(sheetName)
Dim x As Integer
Dim y As Integer
Dim i As Integer
x = xlWorkSheet.Rows.Count()
y = xlWorkSheet.Columns.Count()
Try
For i = 1 To x - 1
'MsgBox(xlWorkSheet.Cells(i, 0).value)
str1 = xlWorkSheet.Cells(i, 1).value
str2 = xlWorkSheet.Cells(i, 2).value
str3 = xlWorkSheet.Cells(i, 3).value
insertData()
Next
Catch ex As Exception
MsgBox(ex.Message())
Finally
con.Close()
xlWorkBook.Close()
End Try
End Sub
Private Sub insertData()
Dim str As String
str = "insert into test_import values('" + str1 + "'," + str2 + "," + str3 + ")"
Dim cmd As New OracleCommand()
cmd.CommandText = str
cmd.Connection = con
cmd.ExecuteNonQuery()
End Sub
THX: 次私が書いたコードです。
あなたのコードはどのように見えますか? – APrough
65kレコードのExcelと個々のインサートからの読み込みには、CPUのパワーがかかっているだけです... – Mr47
jus 1000行でも試してみましたが、その時も最大になりました。 –