.net - 如何从 Excel 工作簿中删除宏?

标签 .net excel excel-2007 openxml openxml-sdk

我目前被迫使用 Office Live/Skydrive(无论正确的名称是什么)来编辑 Excel 工作簿。 Skydrive 不允许我上传包含宏的工作簿,而且我不需要宏,因此我想用 C# 编写一个小清理应用程序,只需删除所有宏。如何使用 Excel 2007 及更高版本 (.xlsm) 文档执行此操作?

编辑:基本上,我想打开一个 xlsm 文档并将其另存为 xlsx 文档,而不需要安装 Excel,即通过 OpenXML SDK 或其他东西。

最佳答案

openXML SDK 2.0 ,这对我有用:

SpreadsheetDocument document = SpreadsheetDocument.Open("excelFile.xlsm", true);
document.WorkbookPart.DeletePart(document.WorkbookPart.VbaProjectPart);
document.Dispose();

关于.net - 如何从 Excel 工作簿中删除宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6888290/

相关文章:

c# - Entity Framework 7 FromSql 存储过程返回值

python - 使用 python 动态读取和/或覆盖 Excel 文件,而不会出现覆盖警报

excel - Powerpoint VBA 删除空列?

用于 Play Framework v2.x 的 Excel 编写器模块

javascript - 我们可以减少cognos报告的Excel 2007输出中的列大小并换行文本吗

c# - 无法将 C# 代码移植到实现 IDataErrorInfo 的托管 C++

c# - WPF 中的 EndEdit 等效项

javascript - 使用 Razor 形式和模型值而不是当前的 js 对象

excel - 突出显示行中特定单元格的值与前一行的值不同的单元格

VBA Excel : filter with "or" condtion between 2 columns