【发布时间】: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