【问题标题】:How to connect to an Excel workbook that lives in SharePoint 2013 and update it如何连接到 SharePoint 2013 中的 Excel 工作簿并对其进行更新
【发布时间】:2015-04-20 21:22:49
【问题描述】:

我正在创建一个命令行应用程序,我想连接到一个 SharePoint 网站,该网站有一个我想要更新的工作簿。

我什至不知道从哪里开始,但我想我的问题是。

  • 我可以为此使用什么 API?如果可能的话,它必须是已经内置的,而不是第三方 API :)
  • 连接完成并且我可以打开电子表格后,我是否也可以从一张工作表切换到另一张工作表?

我尝试过使用类似这样的代码,但没有成功。

    private static void GetExcelSheetNames(string filename)
    {
        var xls = new Microsoft.Office.Interop.Excel.Application();
        xls.Visible = true;
        xls.DisplayAlerts = false;
        var workbook = xls.Workbooks.Open(Filename: filename, IgnoreReadOnlyRecommended: true, ReadOnly: false);
        try
        {
            // Refresh the data from data connections
            workbook.RefreshAll();
            // Wait for the refresh occurs - *wish there was a better way than this.
            System.Threading.Thread.Sleep(5000);
            // Save the workbook back again
            workbook.SaveAs(Filename: filename);  // This is when the Exception is thrown
            // Close the workbook
            workbook.Close(SaveChanges: false);
        }
        catch (Exception ex)
        {
            //Exception message is "Cannot save as that name. Document was opened as read-only."
        }
        finally
        {

            xls.Application.Quit();
            xls = null;
        }
    }

我得到的例外是:

Microsoft Excel 无法访问文件'https//url/bla/bla/bla/workbook.xlsx 有几个可能的原因:

  • 文件名或路径不存在。
  • 该文件正被另一个程序使用。
  • 您尝试保存的工作簿与当前打开的工作簿同名。

实际上,它似乎正在尝试在我的机器中打开 Excel 桌面的一个实例。

很抱歉提出这样一个悬而未决的问题,但我真的不知道如何连接到 SharePoint 网站。

提前致谢!

【问题讨论】:

    标签: c# excel sharepoint sharepoint-2013


    【解决方案1】:

    如果您正在使用文档库中的文档,请在尝试保存之前检查以确保它正在检出该文档。我正在使用类似的流程,但使用的是报表库而不是文档库,并且能够在不签出/签入的情况下保存文档。

    【讨论】:

      猜你喜欢
      • 2015-11-16
      • 1970-01-01
      • 2015-10-04
      • 2014-09-28
      • 2014-08-15
      • 1970-01-01
      • 1970-01-01
      • 2015-05-14
      • 1970-01-01
      相关资源
      最近更新 更多