当前位置: 代码迷 >> VB Dotnet >> vb.net操作excel代码太慢,该如何解决
  详细解决方案

vb.net操作excel代码太慢,该如何解决

热度:519   发布时间:2016-04-25 02:25:13.0
vb.net操作excel代码太慢
使用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
  相关解决方案