我对此进行了仔细研究,但尚未找到答案。
我收到了一项任务,要求我将一些表格数据导出到 .net 中的 Excel。我惊喜地发现“ClosedXML”库可以相对轻松地完成我想要的大部分工作。但是,当我将我的工作发送给我的客户时,他说他希望每行数据旁边都有一个复选框。这个想法是,用户可以选中和取消选中这些框,将文件上传到 Web 服务器,然后让 Web 服务器根据选中的框对数据库进行更改。
不幸的是,我在 ClosedXML 中找不到对复选框的任何引用,并且我在某处的讨论中看到至少一条评论(没有任何进一步解释)说 ClosedXML 不做复选框。
我尝试创建一个 Excel 电子表格,除了一个复选框之外什么都没有。我尝试浏览 OpenXML 对象模型,发现复选框似乎有以下引用:
document.WorkbookPart.WorksheetParts.Single().ControlPropertiesParts.Single().FormControlProperties
是的,所有这些都是为了找到一个复选框,更不用说为每一行添加一个!
如果我有在 Excel 中写入数据行的代码,如何在行中添加复选框?如果我必须使用不同的库,那没关系。
更新:正如@Mike 建议的那样,很容易将其设置为下拉菜单,用户可以使用数据验证从两个不同的选项中进行选择。代码如下所示:
cell.SetValue(item.isOn ? "On" : "Off");
cell.DataValidation.List("\"On,Off\"", true);