C# MVC Excel互操作

C# MVC Excel互操作,c#,asp.net-mvc,office-interop,C#,Asp.net Mvc,Office Interop,我有一个MVC应用程序,可以上传XLS文件并导入它。另一个主要问题是,它们通常会受到密码保护。 不幸的是,我们无法在服务器上安装Office,因此服务器端不能选择互操作。 我在想,当用户通过浏览器浏览文件并单击“导入”时,我可以知道如何在文件实际到达服务器之前将其转换为普通的旧CSV,此时我可以进行主导入。这是一个内联网应用程序,因此客户端将拥有Office 所以问题是,在用户选择文件和单击“上载”之间是否存在任何一点,我可以在浏览器端(可以使用interop)处理该文件以转换该文件?否。您不能

我有一个MVC应用程序,可以上传XLS文件并导入它。另一个主要问题是,它们通常会受到密码保护。 不幸的是,我们无法在服务器上安装Office,因此服务器端不能选择互操作。 我在想,当用户通过浏览器浏览文件并单击“导入”时,我可以知道如何在文件实际到达服务器之前将其转换为普通的旧CSV,此时我可以进行主导入。这是一个内联网应用程序,因此客户端将拥有Office


所以问题是,在用户选择文件和单击“上载”之间是否存在任何一点,我可以在浏览器端(可以使用interop)处理该文件以转换该文件?

否。您不能与客户端计算机上的程序交互(除了像ActiveX这样的浏览器插件,不要去那里)。而且你肯定应该去


我建议使用。它可以读取/写入Excel文件,实际上不需要互操作。它只适用于XLSX文档,因此我希望它适合您。否则您可能需要能够读取XLS文件的第三方库。

根据Patrick的回答,您无法与客户端计算机上的程序交互。ePlus的替代方案是类似的是,它消除了对互操作的需要,但是它可以与
XLS
XLSX
文档一起工作。

最后使用了Syncfusion,这项工作做得很好。

万一您考虑在web服务器上安装Office:不要这样做,它是。您将需要一个第三方库由于合理的许可证费用要求,我们放弃了Synflusion,转而采用TMS FlexCel,而且它更易于使用。