Page 1 of 1

Импорт данных из Excel

PostPosted: 10 Jan 2017, 15:24
by GT21
Как можно импортировать из .xls файла таблицу в LabVIEW? Честно искал инфу, но все что нашел, это использование Report Generation Toolkit for Microsoft Office за 600 баксов или через CSV.
Мне же надо импорт именно из .xls (приятным бонусом будет так же и из .ods). Никаких модулей, связанных с Excel через ctrl+space не нашел
LV 2008

Re: Импорт данных из Excel

PostPosted: 10 Jan 2017, 15:44
by Borjomy_1
Ну что вам сказать... Задача специфическая, использует не свободно распространяемые форматы. И вы еще ее хотите решить бесплатными средствами. Чем вас не устраивает csv? Сделайте макрос в экселе.

Re: Импорт данных из Excel

PostPosted: 10 Jan 2017, 15:45
by GT21

Re: Импорт данных из Excel

PostPosted: 10 Jan 2017, 15:49
by dadreamer
GT21, так понимаю, что принципиально рассматриваются только Free-продукты?.. Тогда ваш выбор не такой уж большой и сводится в итоге к использованию ActiveX или .NET и обёрток на их основе. Например, можно попробовать что-то из такого:
NPOI: http://npoi.codeplex.com/ | https://github.com/tonyqus/npoi
EPPlus: http://epplus.codeplex.com/
Koogra Excel BIFF/XLSX Reader Library: https://sourceforge.net/projects/koogra/
Free Spire.XLS for .NET: https://www.e-iceblue.com/Introduce/fre ... onent.html



См. также в .

По поводу .ods/.odt - попробуйте вот этот пакет (сам не проверял):
https://lavag.org/files/file/126-open-office-rgt-addon/
(Хотя, судя по описанию, есть только Writer, но не Reader)

Re: Импорт данных из Excel

PostPosted: 10 Jan 2017, 16:21
by Borjomy_1
Если вы хотите импортировать таблицу, то значительно проще работать с csv. Отпадают многие заморочки. Вы все равно получите результат в виде двухмерного строкового массива. Нет ВООБЩЕ никакой необходимости брать навороченный плагин.

Re: Импорт данных из Excel

PostPosted: 10 Jan 2017, 20:09
by IvanLis

Re: Импорт данных из Excel

PostPosted: 10 Jan 2017, 20:18
by dadreamer

Re: Импорт данных из Excel

PostPosted: 11 Jan 2017, 00:06
by Andrew Lunev
Полную поддержку форматов xls, doc, ods вам никто не сделает. Все потому что в этих файлах кроме самих таблиц хранится еще куча данных, которые непонятно как интерпретировать и для них нет аналогов в Labview. Например у вас одна из колонок таблицы получается по формулам из нескольких других. Вполне стандартная ситуация для Excel, но что делать с этими данными при импорте? Импортировать формулы или посчитать по этим формулам? То есть добавить половину Excel в плагин? А если в формулах какие-то перекрестные ссылки на другие листы или файлы? Даже несколько листов из Excel сложно преобразовать в формат Labview, потому что непонятно как их объединять в одну таблицу. А если данные в колонках разного типа, то в какую структуру Labview их преобразовывать? Поэтому и переводят в CSV, что там только текст и разделитель и ничего лишнего, он прекрасно преобразуется в обычную таблицу.
Но вообще есть вариант открыть как-то файлы и xls и ods. Надо добавить плагины в VI Open Data Storage TDM. Я вижу несколько плагинов (на картинке ниже), которые можно поставить и Labview начнет открывать эти файлы. Насколько хорошо они работают и платные или нет я не проверял. Думаю, работать должны ужасно...

Re: Импорт данных из Excel

PostPosted: 11 Jan 2017, 00:23
by Kosist

Re: Импорт данных из Excel

PostPosted: 11 Jan 2017, 09:51
by GT21

Re: Импорт данных из Excel

PostPosted: 11 Jan 2017, 12:05
by IvanLis

Re: Импорт данных из Excel

PostPosted: 11 Jan 2017, 13:31
by GT21

Re: Импорт данных из Excel

PostPosted: 22 Mar 2017, 17:37
by НиколайV
Приветствую, у меня по вопрос по схожей теме, запись таблицы из LabView в Excel. Воспользовался примером Excel - Write Table, переделал его как SubVI и подключил свою таблицу. Но почему-то в xcel файл некоторые числа пишутся без запятой (3 и 5 столбцы), ниже прикреплю скриншоты таблиц из labview и xcel. В самом примере Excel - Write Table сложно разобраться..

Re: Импорт данных из Excel

PostPosted: 22 Mar 2017, 18:53
by dadreamer
НиколайV, похоже, у вас числа пишутся в файл как текст. Посмотрите вот эти темы, попробуйте варианты решений оттуда:
viewtopic.php?f=21&t=8537&p=68282
viewtopic.php?f=49&t=8179