C# 在Sharepoint server上打开具有默认凭据的Excel工作簿

C# 在Sharepoint server上打开具有默认凭据的Excel工作簿,c#,sharepoint,excel,C#,Sharepoint,Excel,我正在研究扩展一些处理自动打开和读取Excel文件的代码。最终,这个过程需要能够在服务器上运行,因此严格要求不需要对话框/用户交互 目前,对于普通文件,这一切都可以正常工作,但现在我需要能够扩展此功能以访问远程计算机(如SharePoint/WebDAV系统)上的文件 在我的小测试应用程序中,我现在遇到的问题是,只要我调用Excel工作簿上的Open,就会收到一个提示,询问我的windows凭据。现在,我可以提供它们,或者单击“取消”(我假设这是当前用户凭据的默认设置),文件将毫无问题地打开 但

我正在研究扩展一些处理自动打开和读取Excel文件的代码。最终,这个过程需要能够在服务器上运行,因此严格要求不需要对话框/用户交互

目前,对于普通文件,这一切都可以正常工作,但现在我需要能够扩展此功能以访问远程计算机(如SharePoint/WebDAV系统)上的文件

在我的小测试应用程序中,我现在遇到的问题是,只要我调用Excel工作簿上的Open,就会收到一个提示,询问我的windows凭据。现在,我可以提供它们,或者单击“取消”(我假设这是当前用户凭据的默认设置),文件将毫无问题地打开

但是,我需要做的是找到一种方法,在没有提示的情况下访问此文件


有人对如何做到这一点有什么想法吗

如果使用Excel 2007文件,则无需使用自动化来打开和读取文件

Excel2007(xlsx)文件使用OpenXML文件格式。也就是说,它们基本上只是包装为ZIP文件的一组XML文档。您可以使用.NETFramework的打包API和OpenXMLSDK来创建、读取和修改这些文档

以下是一些资源:

欢迎使用开放式XML格式SDK 2.0

OpenXML开发人员

从SpreadsheetML读取数据

假设您正试图以UNC路径访问该文件,您可以授予用户读取和运行使用该用户帐户访问该文件的应用程序的权限。在计划作业/Windows服务中运行时,您可以选择指定运行应用程序所需的用户帐户。

使用.NET从Excel读取数据的另一个选项:。我只在控制台应用程序中使用过它,所以我不确定它如何处理通过网络打开的文件。

最后我使用了C#webclient类。可以使用默认或自定义用户凭据从sharepoint网站下载

您在哪里存储了Excel、物理路径或文档库,并将其作为Excel Services访问。我不使用Excel 2007文件,而且我可能实际上并不局限于Excel。我可能需要通过网络打开其他office应用程序。我不需要另一个Excel阅读器,我已经有一个配置为使用Excel互操作的系统。你有这个链接吗?