Как непрерывно регистрировать данные в excel-файл со скоростью 4000 значений в секунду в vb.
Привет,
я получаю данные из последовательного порта и отображаю их на экране с помощью текстовых полей,я хочу записать эти данные в файл excel со скоростью 4000 значений в секунду.При первом нажатии кнопки экспорта регистрация данных должна начинаться и регистрировать данные за каждую секунду, при втором нажатии она должна прекращаться.как этого достичь.
формат файла excel выглядит следующим образом
Temp1 Temp2 С1 С2 С3.............C3999 Конвертера C4000
для бывших:
Для I = От 3 До 4002
Приложение.Функция doevents()
h4kworksheet.Ячейки (1, I) = " C " & I-2
h4kworksheet.Ячейки (2, 1) = temp1_horizontal
h4kworksheet.Ячейки (2, 2) = temp2_horizontal
h4kworksheet.Ячейки (2, I) = rf_data_horizontal
h4ksave.Значение = Я
Следующий
здесь в приведенном выше коде значение temp1_horizontal должно быть помещено в 1 coloumn,temp2_horizontal должно быть помещено в 2 coloumn, а rf_data_horizontal должно быть помещено от c1 до c4000
если temp1_horizontal=20
temp2_horizontal=30
rf_data_horizontal=2,5
значения должны быть помещены в excel следующим образом
Temp1 Temp2 С1 С2 С3.............C3999 Конвертера C4000
20 30 2.5 2.5 2.5 2.5 2.5
20 30 2.5 2.5 2.5 2.5 2.5
Что я уже пробовал:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Application.DoEvents() bt_count2 = bt_count2 + 1 If bt_count2 <= 1 Then h4klog.FileName = DateTime.Now.ToString("ddMMyyyy") & "_" & DateTime.Now.ToString("HHmmss") & "h4k.xls" If h4klog.ShowDialog() = Windows.Forms.DialogResult.OK Then h4klogfile_name = h4klog.FileName nc = 0 nr = 2 h4kworkbook = xlapp1.Workbooks.Add(1) h4kworksheet = h4kworkbook.Sheets("sheet1") h4kworksheet.Cells(1, 1) = "TR1" h4kworksheet.Cells(1, 2) = "TR2" file1_count = 0 Button2.Text = "STOP" Button2.ForeColor = Color.Red enable_h4k = True End If End If If bt_count2 >= 2 Then Button2.Enabled = False Button2.Text = "START" Button2.ForeColor = Color.Green bt_count2 = 0 If enable_h4k = True Then enable_h4k = False h4ksave.Visible = True lbh4ksave_status.Visible = True For I = 3 To 4002 Application.DoEvents() h4kworksheet.Cells(1, I) = "C" & I - 2 h4kworksheet.Cells(2, 1) = temp1_horizontal h4kworksheet.Cells(2, 2) = temp2_horizontal h4kworksheet.Cells(2, I) = rf_data_horizontal h4ksave.Value = I Next h4ksave.Visible = False For t = 1 To 10 lbh4ksave.Visible = True delay1(1) lbh4ksave.Visible = False delay1(1) Next lbh4ksave_status.Visible = False Button2.Enabled = True h4kworksheet.Range("A1:EWX1").HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter h4kworkbook.SaveAs(h4klogfile_name) h4kworkbook.Close() xlapp1.Quit() End If MsgBox("Done") End If
Patrice T
Какова скорость вашего последовательного соединения ?
Каков размер значения, которое Вы читаете ?