- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在复制 ExcelWorkSheet
时遇到问题和相应的CodeModule
的复印件。让我解释一下:
场景:我有一个带有宏 (.xlsm) 的 excel 文件,我使用这个 excel 文件作为模板来创建另一个 excel 文件(数据将被复制到新文件中)。
因此,首先我从数据库中获取一些数据并打开 excel 模板 ( .xlsm
) 文件。
在某个时候,一些条目需要在不同的工作表中,这就是“WorkSheets.Add()”的用武之地。
var newSheet = workbook.Worksheets.Add("someName", templateSheet);
复制模板表(其中包含我也想复制的“VBA”代码)后,我遇到了问题。
新创建的工作表的“CodeModule”似乎按名称和引用等于模板中的那个。
也就是说;所有属性值都相同并且:workbook.VbaProject.Modules
仅包含模板文件的初始代码模块,不包含新 newSheet
的新代码模块.
更糟糕的是,如果我想绑定(bind)一个新的 CodeModule
像这样:
workbook.VbaProject.Modules.AddModule("test");
newSheet.CodeModule.Name = "test";
newSheet.CodeModule
和 templateSheet.CodeModule
设置为 null
(实际上是 Nothing
,因为我使用的是 VB.Net)。
所以问题是:这是一个错误还是我在这里做错了什么?更妙的是:您能指导实现这一场景的方法吗?
最佳答案
这似乎是一个错误。我在 epplus
项目的问题中心创建了一个问题。它已被标记为已解决
https://epplus.codeplex.com/workitem/15095
我还没有测试新版本。完成后我会提供更新。
更新在最新消息来源中,此问题已解决。
关于c# - 如何使用新的 CodeModule 从模板复制 ExcelWorkSheet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27044854/
我在 MVC 5 应用程序中有一个有效的 ExcelPackage 函数,我可以在其中成功地将强类型模型输出到新的 Excel 文件。 我有一个特定列可以为 null 的 DateTime 具有四个可
我在复制 ExcelWorkSheet 时遇到问题和相应的CodeModule的复印件。让我解释一下: 场景:我有一个带有宏 (.xlsm) 的 excel 文件,我使用这个 excel 文件作为模板
我正在读取 OfficeOpenXml.ExcelWorksheet 并在集合的中间获取 ArgumentOufOfRangeException。 我正在这样阅读 process.Informatio
我找到了使用 SetParent() 在 WPF 中设置 Excel 实例的解决方案Windows 的功能。 问题是,鼠标和键盘不是对工作表有反应,而是对工作簿有反应。 完整样本 Project Do
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 6 年前。
我是一名优秀的程序员,十分优秀!