Visual Basic и Excel потоковая передача данных в режиме реального времени

В настоящее время я работаю над программой, которая работает в Visual Basic (не VBA). Программа собирает данные с датчиков и создает файл данных (*.csv) информации, собранной за определенный промежуток времени. Я надеюсь добавить или даже изменить программу, чтобы я мог выполнять вычисления в реальном времени с собранными данными.

Возможно ли преобразовать данные потокового вещания в файл *.csv в электронную таблицу Excel, и если да, то как это сделать в VB? Я пишу макрос для постоянной работы в фоновом режиме электронной таблицы для выполнения необходимых вычислений при импорте новых данных.

PS Я не писал оригинальную программу и все еще очень плохо знаком с кодированием, поэтому я все еще пытаюсь разобраться во всем сам

1 ответ

К сожалению, Excel - плохой выбор, поскольку он предполагает, что вам нужен весь CSV-файл, и блокирует его. Когда он это делает, вы больше не можете писать в него.

Вы можете использовать что-то вроде надстройки Microsoft PowerQuery для чтения данных, но это не будет в реальном времени, и вам придется перезагружать все это при каждом обновлении (что может быть автоматизировано).

В качестве альтернативы, если вам на самом деле не нужен Excel, вы можете сделать это довольно легко с помощью простого локального веб-приложения, использующего Microsoft HTA (приложение HTML) или Node-Webkit (последнее предпочтительнее, поскольку оно дает вам полную мощность и способность Node.JS, которая очень рада работе с потоковыми файлами. Конечно, для этих решений потребуются навыки программирования.:(хотя есть способ, который поможет вам в другом месте.:)

Другие вопросы по тегам