我可以通过ADO.net和ExcelReader轻松阅读excel文件,但我必须阅读一个Excel文件,其中数据正在流式传输(通过其他一些应用程序)并且数据不会保存在硬盘上
问题是文件流读取保存在硬盘中的文件内容:(但此处数据未保存在硬盘上
任务一览
1)有些exe命名为abc.exe(第三方exe,我无法控制),每隔1秒就将数据写入名为temp.xls的excel,这个excel文件是打开的。我们可以在excel中看到这些数据,但数据没有保存在硬盘上。 abc.exe正在使用excel来显示我们只能看到数据的数据。
2)现在我正在尝试从excel读取数据,因为该数据没有保存在硬盘上,所以我们无法在文件流类的帮助下阅读。
3)我正在寻找技术,我们可以从这个打开的excel文件中直接从内存而不是从硬盘读取C#中的数据。
是否可以阅读?
请帮帮我
答案 0 :(得分:0)
你可以遵循以下方法:
另一件事可能有用,就是从abc.exe中检测进程结束。也许只是通过检测 temp.xls 的不存在或者在进程表中不存在abc.exe(通过ManagementEventWatcher Class)。
无论如何,你应该通过 temp.xls 嗅探所有通过的东西。
答案 1 :(得分:0)
如果您真的希望“实时访问”这些更改,您可以执行此操作:
另一种选择可能是使用Interop直接与Excel通信 - 这是否有效可靠取决于几个方面(另一个EXE如何与Excel通信等)。