gpt4 book ai didi

c# - 如何使用新的 CodeModule 从模板复制 ExcelWorkSheet

转载 作者:太空狗 更新时间:2023-10-30 00:40:33 26 4
gpt4 key购买 nike

我在复制 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.CodeModuletemplateSheet.CodeModule设置为 null (实际上是 Nothing,因为我使用的是 VB.Net)。

所以问题是:这是一个错误还是我在这里做错了什么?更妙的是:您能指导实现这一场景的方法吗?

最佳答案

这似乎是一个错误。我在 epplus 项目的问题中心创建了一个问题。它已被标记为已解决

https://epplus.codeplex.com/workitem/15095

我还没有测试新版本。完成后我会提供更新。

更新在最新消息来源中,此问题已解决。

关于c# - 如何使用新的 CodeModule 从模板复制 ExcelWorkSheet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27044854/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com