LabVIEW生成Excel的方法比较表格
导出  TDMS文件  CSV文件  报告生成  DIY ActiveX  NI DIAdem  
交互式  √ 



 √ 
以编程方式  √1  √  √  √  √  √ 
自定义格式化 


 √  √  √ 
未安装Excel时 
 √  √ 

 √ 
自动保存元数据 
 √ 


 √ 
需要额外的软件 
 √2 
 √3 
 √4 
基于文件的传输 
 √  √ 

 √ 
自动化接口传输  √ 

 √  √  √ 
1 数据可以以编程方式发送到Excel，但保存文件需要手动操作
2需要用于Microsoft Excel的TDM Excel加载项  可以免费下载并与最新版LabVIEW一起安装
3需要安装用于Microsoft Office的NI LabVIEW报表生成工具包
4需要安装DIAdem
导出到Excel右键菜单
将可见数据从LabVIEW导入到Excel的最简单方法是：右击前面板上显示有要导出的数据的显示控件，然后选择"导出数据到Excel"。
导出数据到Excel方法支持任何图形、图表、表格、数组或数字数据控件。 图形和图表仅导出可见数据，这意味着您可以使用图形工具来放大感兴趣的区域，并仅导出需要的数据。 表格仅导出当前选中的数据，而数组则可导出数组中的所有数据。
您还可以使用调用节点，以编程方式调用导出数据到Excel和导出绘图数据到Excel方法。 以下代码片段可生成正弦波，然后将绘图数据输出到Excel两次，以显示两种不同的方法。 两种方法之间的区别是导出绘图数据到Excel方法仅导出指定图的数据，而导出数据到Excel方法则导出所有图的数据。 这个简单的例子只有一个图，所以这两个方法产生的结果相同。
使用这种技术时，请注意，Excel必须安装在与LabVIEW相同的机器上，并且无法通过编程来保存Excel文件。 因此，这种方法最适合于需要交互式调查数据并快速将数据发送到Excel进行分析或发布的应用。
注意： "导出到Excel功"功能从LabVIEW 2010版开始提供，此前的版本均不具备该功能。
保存为TDMS文件
NI开发了技术数据管理流(TDMS)文件格式来快速、高效地保存文档化的测量数据。 虽然TDMS本身不支持Excel，但是您可以使用一个免费的Excel加载项将数据导入Excel。
创建TDMS文件最简单的方法是使用文件I/O选板中的 Write To Measurement File Express VI。
与所有Express VI一样，将VI放在程序框图上时，会看到一个配置对话框。这个特定的Express VI可以不仅仅只是保存为TDMS，所以一定要在文件格式部分中选择二进制(TDMS)。 保存文件的方式有多种，当选定文件已经存在时的做法也有多种选择。
您可以通过点击设置...按钮，使用基于时间或文件大小的计划表保存到一系列文件。
这时会产生一个非常简单的程序框图：
对于更习惯手动控制的用户，LabVIEW还提供了一个用于写入TDMS文件的API，而无需使用Express VI。
如果有数据存储到TDMS文件中，则需要确保您已安装用于Microsoft Excel的TDM Excel加载项。 安装LabVIEW时，您可能已经安装了该加载项，如果没有，您可以随时免费下载。 安装加载项后，您可以直接在TDMS文件上单击鼠标右键，然后选择 打开方式»Excel导入器，这时会打开Excel并显示相应的数据。
Excel中的第一个工作表包含了文件属性和其他元数据。
每组通道都作为单独的工作表进行加载，每个通道的数据都显示在各自列中。
数据导入到Excel后，就不会依赖或链接回原始的TDMS文件（但原始文件可以使用LabVIEW或DIAdem中的ExcelTDM DataPlugin重新创建），因此您可以随意与任何Excel用户共享您的工作簿。
保存到CSV文件
大多数情况都支持逗号分隔值(CSV)文件格式，因此您可以在Excel中打开文件，但也可以将其导入到其他电子表格、数据库或分析工具。 CSV文件是人类可读的文本文件，列与列之间通过逗号隔开，行与行之间则通过换行隔开。 这通常需要我们在LabVIEW中进行一些数据操作，以便将测量数据转换为适当的格式，因为我们无法使用复杂的数据类型（如波形），也不能将数值存储更高效的二进制格式，以便LabVIEW或TDMS文件内部使用。
您可以使用文件I/O选板中的Write To Spreadsheet File VI来创建要在Excel中打开的CSV文件。
简单的一维数组并不需要进行任何额外的处理。默认情况下，Write To Spreadsheet File VI使用制表符(/t)作为分隔符，因此您只需要指定逗号(，)作为分隔符即可。
一个更复杂的例子是将Express VI返回的数据（如DAQ助手或模拟信号）写入CSV文件中，并标记时间，同时在下一列显示测量值。 下面的代码片段显示了如何将动态数据转换为波形数组; 然后将数组中每个波形的所有测量值转换为字符串; 接着再为每个样本制定一个时间字符串; 并最终为这些字符串创建二维数组，以便传递给Write To Spreadsheet File VI。
您可以使用Excel打开CSV文件，这时会看到数据按列和行正确分割。
如果您使用上面的代码片段，Excel将会理解您的时间戳，但可能无法以有用的方式进行格式化  Excel是为商业办公而开发的，通常无法在数秒甚至更短的时间内处理数据。 要解决这个问题，您必须使用自定义格式来格式化包含时间数据的单元格，如下所示。
这种方法的一个缺点是此格式化信息无法保存在CSV文件中，因此每次将新文件导入Excel时都必须手动重复该过程。 虽然只能在Excel中打开一次，但您仍可以将数据保存为Excel文件来保留格式，以便后续使用。
Microsoft Office报表生成工具包
在将数据发送到Excel时，用于Microsoft Office的NI LabVIEW报表生成工具包提供了很大的灵活性。 最大的优点之一是您可以在Excel中创建一个模板工作簿，并将其保存为.xltx或.xlt文件，然后使用LabVIEW在VI运行时使用数据填充模板。 此代码段显示如何使用MS Office Report Express VI填充此类模板。
创建模板时，您可以像任何其他Excel工作簿一样自定义格式。 然后将单元格命名为数据要放置的位置（对于表格或数组，您只需要命名左上方的单元格即可）。
创建模板后，将Express VI指向模板，并告诉LabVIEW您希望数据如何显示在报表中（以表格或图表形式显示）以及是否要打开、保存或打印Excel文件。
运行上面的代码片段会产生如下所示的输出。 这个简单的例子介绍了这种方法的使用  顾名思义，报表生成工具包通常用于自动化生成完整的报表，而不是将简单的数据发送到Excel。
除了Express VI之外，报表生成工具包还提供了一个可用于自动化Excel的完整API。 下面的示例代码产生的输出类似于上述示例，但不需要模板工作簿。 此外，该示例不是使用LabVIEW图形的图像，而是使用Excel图表工具绘制图形。
运行上面的例子得到以下输出：
DIY ActiveX/.NET
报表生成工具包基于Excel ActiveX接口。 您可以通过直接ActiveX调用或Microsoft.Office.Interop.Excel .NET程序集自动创建Excel文件来使用此API。 下面的代码片段生成与Report Generation Toolkit示例基本相同的结果，但是使用的是.NET互操作程序集来与Excel进行通信。 可以看到，代码最后更为复杂，但任何有ActiveX/.NET编程背景的人员都不会觉得陌生。
以下是上述代码片段的输出：
DIAdem作为替代选择
如果您有更高级的数据需求，比如较大型的数据集、大量的文件或特定的报告需求，还可考虑DIAdem。 DIAdem是一款用于快速定位、分析和报告测量数据的工具，通常更能够满足工程师对数据工具的许多需求。
如需了解更多关于使用DIAdem而不是Excel提高工作效率的信息，请阅读本文。