У меня есть кнопка, позволяющая мне экспортировать datagridview в excel. Иногда он имеет более 5000 строк, поэтому требуется немного больше времени.datagridview to excel - progressbar vb.net
Я попытался добавить индикатор выполнения, но это просто случайный (способ, которым он ниже). Как я могу лучше всего реализовать индикатор прогресса? В любом случае, я не думаю, что мне нужен таймер.
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim exeDir As New IO.FileInfo(Reflection.Assembly.GetExecutingAssembly.FullName)
Dim xlPath = IO.Path.Combine(exeDir.DirectoryName, "template.xlsx")
Dim xlApp As Excel.Application
Dim xlWorkBook As Excel.Workbook
Dim xlWorkSheet As Excel.Worksheet
'Dim rTargetCell As Excel.Range
Dim misValue As Object = System.Reflection.Missing.Value
Dim i As Integer
Dim j As Integer
'TEST!
For i = 0 To i = ProgressBar1.Maximum
ProgressBar1.Value = i
ProgressBar1.Update()
Timer2.Start()
System.Threading.Thread.Sleep(25)
Next
'End Test!
xlApp = New Microsoft.Office.Interop.Excel.Application
xlWorkBook = xlApp.Workbooks.Open(xlPath)
xlWorkSheet = xlWorkBook.Worksheets("data")
For i = 0 To DataGridView2.RowCount - 1
For j = 0 To DataGridView2.ColumnCount - 1
For k As Integer = 1 To DataGridView2.Columns.Count
xlWorkSheet.Cells(i + 1, j + 1) = DataGridView2(j, i).Value
Next
Next
Next
xlWorkSheet.SaveAs("C:\Users\User\Desktop\" & TextBox3.Text & ".xlsx")
xlWorkBook.Close()
xlApp.Quit()
Process.Start("C:\Users\User\Desktop\" & TextBox3.Text & ".xlsx")
Me.Close()
End Sub
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
ProgressBar1.Increment(1)
Label3.Text = "(...)"
If ProgressBar1.Maximum = DataGridView2.Rows.Count Then
Label3.Text = "Finished"
End If
Timer2.Stop()
End Sub
это из - http://stackoverflow.com/questions/14217894/vb-net-progress-bar – codeMonger123
где это поможет мне спариваться? честный вопрос здесь – noidea
@ codeMonger123 Я имею в виду, если я делаю, что индикатор прогресса останавливается немного раньше максимума. я думаю, это не englobe SaveAs .. – noidea