Excel文件的程序化和基于应用程序的编辑



晚上好,

我有以下问题需要解决:

我想将一堆用户生成的.txt文件的内容添加到Excel文件中。这些文件全天生成,并通过FTP发送到一个文件夹,该文件夹由程序不断监控,以查看是否有新添加的文件。如果程序在其中找到新的.txt文件,它会打开要编辑的Excel文件,添加信息,然后关闭Excel,保存更改。

同时,用户必须打开这些Excel文件来检查新更新的信息并进行相应的处理。

程序的执行有点像这样:

  1. 无限循环检查文件夹是否为空或包含新的.txt文件
  2. 如果文件夹不是空的(因此需要添加信息),它会检查Excel文件是否打开
  3. 如果Excel文件已关闭:
    1. 以编程方式打开它并将信息添加到其中
    2. 保存Excel文件并退出
    3. .txt备份到另一个文件夹,以防出现某种错误
  4. 如果Excel文件已打开:
    1. 继续检查,直到它关闭

要检查文件夹是否为空,我使用:System.IO.Directory.EnumerateFileSystemEntries(path).Any()

要检查Excel文件是否打开,我使用:System.IO.FileInfo(path)FileStream,后者在Try-Catch子句中以以下模式打开FileInfoinfo.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None)

对于Excel文件的打开、编辑和保存/关闭,我使用Microsoft.Office.Interop.Excel.Application[..].Workbook[..].Worksheet

当用户在添加过程中打开(通过普通Office应用程序)Excel文件时,主要问题就会出现。我希望能找到上述文件的某种锁定,这样用户就不会中断编辑过程。

关于如何将打开/编辑Excel文件的两种类型结合起来,有什么想法吗?

非常感谢你。

TL;DR:当程序正在编辑Excel文件时,我如何通过编程防止用户打开Excel文件?或者至少打开它的另一个实例,这样过程就不会中断

附言:如果需要任何进一步的代码,我很乐意发布:)

我认为您需要一个更好的解决方案。听起来你正在最大限度地发挥Excel的功能。如果可能的话,你最好使用数据库。

相关内容

  • 没有找到相关文章

最新更新