应用场景
工程项目中很多外部数据会以Excel表格形式输入,我们需要知道怎么使用labview直接读取Excel表格数据。
问题点
我们大多数时候会使用下面这个函数去读取Excel表格,正常情况会很快。
可是外部的输入的Excel表格一般都没有分隔符,就会导致我们读取的内容都是乱码的,类似于下图的展示。
可以看到,一个内容非常简单的表,labview并不能读取正确的数据。
解决方案
方案一:另存为CSV(逗号分割)
我们将原来的test.xlsx文件另存为test_01.csv(逗号分隔)文件,再次读取文件,可以正确读取到Excel内容。
方案二:报告函数中Excel Get Data.vi
我们使用上图中的vi,可以从原始的test.xlsx文件中读取正确的内容。
优化-20240306
我发现Excel Get Data.vi并不是很好用,因为它读取表格数据的速度真的很慢。我做了一个测试,非常简单的一张表就两行数据,读取过程耗时1.5秒,如果数据量再大一些,时间只会更多。
这个问题似乎也没有很好的处理办法,目前我的建议就是一次读取导入,缓存记录,之后就读取缓存。
修改后的代码见下图。使用功能型全局变量的方式,在程序启动载入时,选择read分支载入表格数据(程序启动时本来就存在很多初始化的工作,对时间要求不高);在程序内部需要使用数据时使用get分支快速获取缓存数据。