使用 NPOI 在打开的 Excel 应用程序上写入
Writing on open Excel application using NPOI
伙计们,
环境
- Windows 8.1
- Visual Studio 2013
- C#
问题
如何使用 NPOI (https://npoi.codeplex.com/) 在可见的 Excel sheet 上写入值并制作图表 (https://npoi.codeplex.com/)。
为什么我想要那个?
我正在开发一个应用程序来测量设备中的温度。为了把实验数据放在一个地方,我想在Excelsheet上记录数据,在sheet上做图表。此外,我想保持 Excel sheet 可见并实时检查图表更新。
例如,您也可以使用 NationalInstruments 的 MeasurementStudio 在 Windows Form 应用程序上制作图表,但考虑到 Excel 图表的灵活性(大小和 xy 范围可变,易于使用的用户界面,等等...),我想坚持 Excel。
您可以通过
ExcelApp.visible = true;
使用 Microsoft.Office.Interop.Excel
轻松完成此操作。但是,此模块要求用户释放生成的每个 COM 对象。否则,对象会保留下来并耗尽内存。这就是我更喜欢使用NPOI的原因。
我怎样才能做到这一点?任何答案将不胜感激。
您不能使用 NPOI 执行此操作。 NPOI 从 序列化 Excel 文件 中读取和写入数据。当 Excel 打开这些文件时,您无法访问它们,即使可以,Excel 也不会重新读取这些文件,因此您的修改不会显示。
您描述的问题归结为 "I want to interact with a running Excel instance without using Excel interop"。那是行不通的。
伙计们,
环境
- Windows 8.1
- Visual Studio 2013
- C#
问题
如何使用 NPOI (https://npoi.codeplex.com/) 在可见的 Excel sheet 上写入值并制作图表 (https://npoi.codeplex.com/)。
为什么我想要那个?
我正在开发一个应用程序来测量设备中的温度。为了把实验数据放在一个地方,我想在Excelsheet上记录数据,在sheet上做图表。此外,我想保持 Excel sheet 可见并实时检查图表更新。
例如,您也可以使用 NationalInstruments 的 MeasurementStudio 在 Windows Form 应用程序上制作图表,但考虑到 Excel 图表的灵活性(大小和 xy 范围可变,易于使用的用户界面,等等...),我想坚持 Excel。
您可以通过
ExcelApp.visible = true;
使用 Microsoft.Office.Interop.Excel
轻松完成此操作。但是,此模块要求用户释放生成的每个 COM 对象。否则,对象会保留下来并耗尽内存。这就是我更喜欢使用NPOI的原因。
我怎样才能做到这一点?任何答案将不胜感激。
您不能使用 NPOI 执行此操作。 NPOI 从 序列化 Excel 文件 中读取和写入数据。当 Excel 打开这些文件时,您无法访问它们,即使可以,Excel 也不会重新读取这些文件,因此您的修改不会显示。
您描述的问题归结为 "I want to interact with a running Excel instance without using Excel interop"。那是行不通的。