我编写了一个程序,它将从本地光盘打开xls,刷新其中的数据然后再次保存.这很好用.
当我将文件名替换为指向SharePoint站点时,会发生此问题.它打开文件很好.刷新文件,但是当它试图保存文件时,它会抛出一个异常,并显示消息"无法保存为该名称.文档以只读方式打开.".如果我尝试使用不同的文件名保存文件,那么它可以正常工作.
有人知道我错过了什么吗?我认为它必须与我打开文件的方式有关.还有另一种方法可以强制以读/写方式打开文件吗?
private static void RefreshExcelDocument(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 …Run Code Online (Sandbox Code Playgroud) 有没有人在目标框架4.5.2的项目上成功安装Roslyn nuget包?
我正在尝试安装Microsoft.CodeAnalysis.CSharp.Scripting包,但还没有看到成功.它由于各种依赖程序集而失败.
如果您在框架> 4.5上安装了任何Roslyn构建,请告诉我
我已经了解了如何使用以下命令从命令行运行和执行LINQPad查询
LINQPad.exe "path to the script.linq" -run
Run Code Online (Sandbox Code Playgroud)
这将启动LINQPad,运行脚本但它会使LINQPad保持打开状态.无论如何我可以在执行后让LINQPad关闭吗?
非常感谢
乔纳森