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

乡亲,

环境

  • Windows 8.1
  • Visual Studio 2013
  • C#

问题

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

我为什么要这样?

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

您还可以在National Instruments的Measurement Studio上创buildWindows窗体应用程序的graphics,但考虑到Excel图表的灵活性(大小和xy范围可变,易于使用的用户界面等),我想坚持Excel中。

您可以轻松地使用Microsoft.Office.Interop.Excel通过ExcelApp.visible = true; 。 但是,这个模块要求用户释放每个生成的COM对象。 否则,物体保持并消耗记忆。 这就是我更喜欢使用NPOI的原因。

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

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

你所描述的问题归结为“我想与一个正在运行的Excel实例交互,而不使用Excel互操作”。 这是行不通的。