使用NPOI在打开的Excel应用程序上编写

时间:2016-04-18 09:04:13

标签: c# windows excel visual-studio-2013 npoi

人,

环境

  • Windows 8.1
  • Visual Studio 2013
  • C#

问题

如何使用NPOI(https://npoi.codeplex.com/)在可见的Excel工作表上编写值并创建图表。

为什么我要这样?

我正在开发一种测量设备温度的应用程序。为了将实验数据放在一个地方,我想在Excel工作表上记录数据并在工作表上制作图表。另外,我想保持Excel工作表可见,并检查实时更新的图表。

您也可以使用NationalInstruments的MeasurementStudio在Windows Form应用程序上制作图表,但考虑到Excel图表的灵活性(尺寸和xy范围可变,易于使用的用户界面等等),我想要坚持使用Excel。

您可以使用Microsoft.Office.Interop.Excel ExcelApp.visible = true;轻松完成此操作。但是,此模块要求用户释放生成的每个COM对象。否则,对象会保留并消耗内存。这就是我更喜欢使用NPOI的原因。

我怎样才能做到这一点?任何答案都将不胜感激。

1 个答案:

答案 0 :(得分:1)

你不能用NPOI做到这一点。 NPOI从序列化Excel文件读取和写入数据。当Excel打开它们时,您无法访问这些文件,即使可以,Excel也不会重新读取这些文件,因此您的修改不会显示。

您描述的问题归结为"我想与正在运行的Excel实例进行交互而不使用Excel互操作"。那不行。