我想创建一个excel,它应该有带有多选下拉菜单的单元格。
例如如果给一个单元格选项 = [a", "b", "c", "d", "e"]。
编辑器选择“a”,则单元格中的值应为“a”。在对同一单元格的后续选择中,如果编辑器选择“b”,则该单元格中的最终值应为“a,b”。
我可以使用 xlsxwriter
创建下拉列表使用以下示例代码打包。但它不支持多选。
import xlsxwriter
workbook = xlsxwriter.Workbook('data_validate.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write('A13', txt)
worksheet.data_validation('B13', {'validate':'list',
'source': ['open', "high", 'close']})
workbook.close()
这是取自
xlsxwriter
的示例文档。我浏览了其他图书馆,例如
xlrd
, xlwt
, PyXLL
和其他一些,但找不到任何可以支持多选或提供解决方法来实现相同的东西。是否有任何内置库,或在 excel 中实现此目的的方法。
我不想使用任何 windows 和 VB 依赖项。
任何帮助将非常感激。
最佳答案
Here/screenshot(s) 引用:
几个相当相似的问题(下面的链接)——但不完全是。
方法 A-C
先决条件:Office 365 兼容版本的 Excel
一个 - 以“原始/原始顺序*”返回重复项
=TEXTJOIN(",",1,C4:C23)
乙 -至于A,但已订购*
=TEXTJOIN(",",1,SORT(C4:C23))
C - 至于 B 但独特的*
=UNIQUE(TEXTJOIN(",",1,UNIQUE(SORT(C4:C23))))
方法 D
其他版本的 Excel - 可以找到有效的方法来设置输入最终解决方案的大量验证列表...
=TRANSPOSE(CONCATENATE(C4&",",C5&",",C6&",",C7&",",C8&",",C9&",",C10&",",C11&",",C12&",", C13&",",C14&",",C15&",",C16&",",C17&",",C18&",",C19&",",C20&",",C21&",",C22&",", C23))
资源 (个人文件 RE:我以前的一些贡献):
关于python - 使用python在excel中的单元格的多选选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36401617/