如何解决ClosedXml XLWorkbook.Save() 不起作用
当 Excel 表格中有无效数据时,例如无效的电子邮件地址等。 ClosedXML 抛出错误:无效的超链接格式错误的 URI 被嵌入为文档中的超链接。但是,我已使用此处发布的代码解决了此问题: https://github.com/ClosedXML/ClosedXML/issues/249
但是,当我使用上面的代码时,我无法编辑/更新工作表并保存它。 但是,我可以使用 XLWorkBook.SaveAs(newFilePath) 方法来保存更改。 但我不想创建带有更改的新文件。
代码:
string path = Path.Combine(currentDirectory,"FileName.xlsx");
var settings = new OpenSettings
{
RelationshipErrorHandlerFactory = package =>
{
return new UriRelationShipErrorHandler();
},};
FileStream stream = new FileStream(path,FileMode.Open,FileAccess.ReadWrite);
var outputStream = new MemoryStream();
stream.CopyTo(outputStream);
stream.Position = 0;
using (var doc = SpreadsheetDocument.Open(outputStream,true,settings))
{
doc.Save();
}
outputStream.Position = 0;
using (var workbook = new XLWorkbook(outputStream))
{
var workSheet = workbook.Worksheet(sheetName);
workSheet.Cell(2,3).Value = "Test Value";
workbook.Save();
}
不会在 workbook.Save() 处抛出异常
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。