Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# OpenXml SpreadsheetDocument SaveAs()生成损坏的文档-为什么?_C#_Excel_Openxml - Fatal编程技术网

C# OpenXml SpreadsheetDocument SaveAs()生成损坏的文档-为什么?

C# OpenXml SpreadsheetDocument SaveAs()生成损坏的文档-为什么?,c#,excel,openxml,C#,Excel,Openxml,这段极其简单的代码创建了一个Excel无法打开的文件。 这怎么会失败呢 using (SpreadsheetDocument doc = SpreadsheetDocument.Open(@"c:\dir\src.xlsx", true)) { doc.SaveAs(@"c:\dir\saved.xlsx"); } 注: Excel不会打开saved.xlsx src.xlsx已知存在且有效(Excel打开它没有问题) 确实生成了saved.xls

这段极其简单的代码创建了一个Excel无法打开的文件。
这怎么会失败呢

using (SpreadsheetDocument doc = SpreadsheetDocument.Open(@"c:\dir\src.xlsx", true))
{
  doc.SaveAs(@"c:\dir\saved.xlsx");
}
注:

  • Excel不会打开saved.xlsx
  • src.xlsx已知存在且有效(Excel打开它没有问题)
  • 确实生成了saved.xlsx,尽管它比src.xlsx小约500字节
如果您的意思是此错误:

我查过了。它工作正常:

该问题是由于通过OpenXmlRight访问时在Excel中打开src.xlsx造成的。解决方法是在运行过程中停止调试或关闭Excel程序。