使用vb.net操作excel进行数据处理才700条就得2分钟太慢了,
主要实现一下操作,1、打开excel判断是否存在“产量”的表,存在新建0-31张新表,2、判断产量大于0的数
据全部放在0表中,3、日期.day=1,的放在1表中,等于2的,放在2表中,一直到31.
请各位帮忙优化一下,谢谢了。
代码如下:
Dim strFilePath As String
Dim i, j, k, l, m, n As Integer
OpenFileDialog1.Multiselect = False
OpenFileDialog1.Filter = "Excel File (*.xls)|*.xls"
OpenFileDialog1.ShowDialog()
If OpenFileDialog1.FileName <> "" Then
strFilePath = OpenFileDialog1.FileName
Dim eExcel As New ExcelHandler(strFilePath)
eExcel.Open(strFilePath)
Try
For i = 1 To eExcel.wWorkbook.Sheets.Count
If eExcel.wWorkbook.Sheets(i).name = "产量" Then
For j = 0 To 31
eExcel.AddSheet(j)
Next
End If
Next
l = 2
For k = 2 To 1000 'eExcel.wWorkbook.Sheets("产量").Rows.Count
If eExcel.wWorkbook.Sheets("产量").Cells(k, 13).Value > 0 Then
eExcel.wWorkbook.Sheets("0").Cells(l, 1).Value = eExcel.wWorkbook.Sheets("产量").Cells(k, 1).Value
eExcel.wWorkbook.Sheets("0").Cells(l, 2).Value = eExcel.wWorkbook.Sheets("产量").Cells(k, 2).Value
eExcel.wWorkbook.Sheets("0").Cells(l, 3).Value = eExcel.wWorkbook.Sheets("产量").Cells(k, 3).Value
eExcel.wWorkbook.Sheets("0").Cells(l, 4).Value = eExcel.wWorkbook.Sheets("产量").Cells(k, 4).Value
eExcel.wWorkbook.Sheets("0").Cells(l, 5).Value = eExcel.wWorkbook.Sheets("产量").Cells(k, 5).Value
eExcel.wWorkbook.Sheets("0").Cells(l, 6).Value = eExcel.wWorkbook.Sheets("产量").Cells(k, 6).Value
eExcel.wWorkbook.Sheets("0").Cells(l, 7).Value = eExcel.wWorkbook.Sheets("产量").Cells(k, 7).Value
eExcel.wWorkbook.Sheets("0").Cells(l, 8).Value = eExcel.wWorkbook.Sheets("产量").Cells(k, 8).Value
eExcel.wWorkbook.Sheets("0").Cells(l, 9).Value = eExcel.wWorkbook.Sheets("产量").Cells(k, 9).Value
eExcel.wWorkbook.Sheets("0").Cells(l, 10).Value = eExcel.wWorkbook.Sheets("产量").Cells(k, 10).Value
eExcel.wWorkbook.Sheets("0").Cells(l, 11).Value = eExcel.wWorkbook.Sheets("产量").Cells(k, 11).Value
eExcel.wWorkbook.Sheets("0").Cells(l, 12).Value = eExcel.wWorkbook.Sheets("产量").Cells(k, 12).Value