晚上好,
我有以下问题需要解决:
我想在Excel文件中添加一堆用户生成的.txt
文件的内容。这些文件全天生成,并通过FTP发送到文件夹,程序会不断监视该文件夹以查看是否有新增内容。
如果程序在其中找到新的.txt
文件,则会打开要编辑的Excel文件,添加信息,然后关闭Excel,保存更改。
同时,用户必须打开这些Excel文件以检查新的更新信息并相应地处理它。
程序的执行有点像这样:
.txt
文件。 .txt
备份到另一个文件夹,以防出现某种错误。 要检查文件夹是否为空,我使用:System.IO.Directory.EnumerateFileSystemEntries(path).Any()
要检查Excel文件是否已打开,我使用:
System.IO.FileInfo(path)
和FileStream
,在Try-Catch子句中,以下列模式打开FileInfo
:info.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None)
对于打开,编辑和保存/关闭Excel文件,我使用Microsoft.Office.Interop.Excel.Application
,[..].Workbook
和[..].Worksheet
。
当用户在添加过程中打开(通过正常的Office应用程序)Excel文件时,会出现主要问题。我希望找到所述文件的某种锁定,这样用户就无法中断编辑过程。
关于如何组合两种类型的打开/编辑Excel文件的想法?
非常感谢你的进步。
TL; DR:如何在程序编辑Excel时以编程方式阻止用户打开Excel文件?或者至少打开它的另一个实例,这样过程不会中断?
PS:如果需要任何进一步的代码,我很乐意发布它:)
答案 0 :(得分:0)
我认为你需要一个更好的解决方案。听起来你正在最大限度地发挥Excel的功能。如果可能的话,最好使用数据库。