0

我有一个程序使用 excel 互操作例程来生成一堆基于 excel 模板的报告。

这一切都可以接受,但我试图弄清楚的副作用是如何防止用户覆盖原始模板。

由于我无法控制的原因,它必须是 excel,据我所知,这意味着模板必须位于所有用户都可以读/写的 Intranet 上。(如果它是一个存档,那么用户运行的应用程序将无法用新数据填充它)

我正在考虑尝试通过重命名文件并将其移动到网络上的其他位置来解决这个问题,但我不确定这是否可能。(因此线程的名称)

此外,可能还有一种更好的方法来解决我没有想到的问题。

4

1 回答 1

1

我没试过,但我认为如果你把它放在只读共享中,你应该仍然可以打开它并将内容写入打开的文档,只是它无法将它保存回那个位置,相反,您必须使用SaveAs将其保存在其他地方。

否则,如果我对此有误,请按照您自己所说的进行操作,将其放入只读共享中,然后在开始进行互操作之前将其复制到其他位置。只需使用File.Copy将其复制,可能会复制到返回的名称Path.GetTempFileName以确保您不会覆盖其他任何内容,然后最后,只需将SaveAs其保存到用户想要的任何位置。

于 2010-12-10T17:28:53.253 回答