Google 搜索得出:要使用 C# 中的 ClosedXML 创建具有“启用编辑”功能的电子表格,只需创建一个新工作簿并向其中添加数据,无需应用任何保护机制;默认情况下,新的 ClosedXML 工作簿允许在所有单元格中进行编辑。
我已经这样做了,但是当我打开下载的电子表格时,它会出现在“受保护的视图”中,并要求我点击“启用编辑”按钮。
我查看了 ClosedXml 文档,但没有找到(或理解)任何有用的内容,除了 ClosedXML 尚不支持“允许编辑范围”功能的声明之外。 不确定这是否适用于整个工作簿/工作表。
Google 搜索中给出的示例使用 workbook.SaveAs("file.xlsx"),我无法在浏览器中执行此操作。 相反,我必须使用workbook.SaveAs(stream),其中stream是一个MemoryStream,然后我使用javascript将其下载为字节数组。也许这就是问题所在,或者也许我错过了其他东西。 我尝试将“workbook.Unprotect()”添加到我的代码中,但这并没有改变结果。
如有任何想法,我将不胜感激。
受保护的视图不是您可以避免的。它是 Excel 和其他 Office 产品中内置的一项安全功能,由名为“Web Mark”的 Windows 级功能驱动。从互联网上下载的每个 Excel 文件都会得到相同的处理,无论使用的 Web 框架技术以及 Excel 文件是如何生成的。