如何使用.net将checkbox添加到Excel电子表格?

我仔细研究过这个,但是还没有find答案。

我收到一个任务,要求我在.net中将一些表格数据导出到Excel中。 我惊喜地发现“ClosedXML”库能够相对简单地完成我想要的大部分function。 但是,当我把我的工作交给我的客户时,他说他希望每行数据都有一个checkbox。 这个想法是,用户可以检查和取消选中这些框,将file upload到Web服务器,然后让Web服务器根据选中的框对数据库进行更改。

不幸的是,我找不到任何关于ClosedXML中的checkbox的引用,并且我在某处的讨论中看到至less有一条评论(没有任何进一步的解释),ClosedXML不会做checkbox。

我试图创build一个Excel电子表格,除了一个checkbox,没有任何东西。 我尝试浏览OpenXML对象模型,发现似乎有以下对checkbox的引用:

document.WorkbookPart.WorksheetParts.Single().ControlPropertiesParts.Single().FormControlProperties

是的,所有这些都可以find一个checkbox,更不用说为每一行添加一个!

如果我有在Excel中写入数据行的代码,如何将checkbox添加到行? 如果我必须使用不同的库,那没关系。

更新:正如@Mike所build议的,很容易将其设置为下拉菜单,用户可以使用数据validation从两个不同的选项中进行select。 代码如下所示:

 cell.SetValue(item.isOn ? "On" : "Off"); cell.DataValidation.List("\"On,Off\"", true); 

我不熟悉ClosedXML ,但我想我理解你的客户的意图。

您可以创build一个空白列,而不是提供checkbox,您可以使用数据validation来允许用户从下拉菜单中select“X”。