我正在用ApachePOI生成Excel表格,但我生成的表格在每个标题上都缺少下拉菜单,当我在Excel中“格式化为表格”时,这些标题就会出现。
我想生成这个:
但是我得到了这个:
我正在关注这篇博文,我的代码如下所示:
XSSFTable table = sheet.createTable();
table.setDisplayName("Data");
CTTable ctTable = table.getCTTable();
ctTable.setDisplayName("Data");
ctTable.setId(1L);
ctTable.setName("DATA");
CTTableStyleInfo table_style = ctTable.addNewTableStyleInfo();
table_style.setName("TableStyleMedium9");
table_style.setShowColumnStripes(false);
table_style.setShowRowStripes(true);
然后按如下方式创建每个列:
CTTableColumn column = ctColumns.addNewTableColumn();
column.setName(headers.get(i));
column.setId(i + 1);
我错过了什么?
从您引用的示例中,还不清楚应用表格样式是否应该为您创建过滤器下拉列表。
但是,您可以在下面显式地调用setAutoFilter()来设置筛选器下拉列表。
例如
CellReference start = table.getStartCellReference();
CellReference end= table.getEndCellReference();
sheet.setAutoFilter(new CellRangeAddress(...);
感谢Alan Hay提供的线索-解决方案是添加一个自动过滤器,但是需要为CTTable
的每一列添加一个CTAutoFilter
。工作解决方案如下:
CTTableColumns ctColumns = ctTable.addNewTableColumns();
CTAutoFilter autofilter = ctTable.addNewAutoFilter();
ctColumns.setCount(table_headers.size());
for(int i = 0; i < table_headers.size(); i++) {
CTTableColumn column = ctColumns.addNewTableColumn();
column.setName(table_headers.get(i));
column.setId(i + 1);
CTFilterColumn filter = autofilter.addNewFilterColumn();
filter.setColId(i + 1);
filter.setShowButton(true);
}
自动调整列大小时,还需要为下拉菜单添加额外的宽度:
for(int i = 0; i < table_headers.size(); i++) {
sheet.autoSizeColumn(i);
// Include width of drop down button
sheet.setColumnWidth(i, sheet.getColumnWidth(i) + 1000);
}
鉴于下面的剑道下拉列表,我想在optionLabel select上添加一个类,这样当ddl扩展时,我可以直观地区分什么是选项标签,什么是选项。理想情况下,这应该从完成,而且显然必须从js完成。我正在寻找一个奇特的解决方案,我真的不想遍历大部分DOM。 http://trykendoui.telerik.com/@vojtiik/uLEc
页面上有两个下拉菜单。 当我点击第一个下拉菜单时,在第二个下拉菜单选项将在几秒钟后自动加载。 这是我的问题,我怎么能等待第二个下拉列表完全加载硒网络驱动程序。 注意:这是 div 下拉列表 xpath的第二个下拉列表: 我正在使用C#谢谢
问题内容: 我有一个这样的SQL选择语句: 这将为我返回类似表格的内容: 我想要的是将列标题插入第一行,例如: 有人可以建议如何实现吗? 您能否用标题创建一个临时表并将数据附加到此表? 问题答案: 除非您的所有名字都按排序顺序在“ first”之后,否则上述两个答案都不会起作用。 如果您也想对所有非varchar列执行此操作,则CONS(至少)为: 您所有的数据都将成为VARCHAR。例如,如果您
类似 (https://visactor.io/vchart/demo/line-chart/basic-line)这样的折线图, 我希望给图表上方添加标题描述,该如何配置?
问题内容: 我正在JSP中创建一个页面,其中有一个下拉列表,一旦用户选择了一个值,他就必须单击go按钮,然后将该值发送到Servlet。 我该如何做才能在变更时做到呢?例如,当用户选择John时,将从数据库中检索出他的所有详细信息并显示出来。我希望系统无需单击“执行”按钮即可执行此操作。 问题答案: 只需询问JavaScript的帮助。
我正在尝试添加选项到一个动态选择输入,依赖于在另一个选择下拉菜单中选择的值。 我已经设法在选择父级中的值时填充数据对象。所有的my触发器也会被执行,子select被禁用,它应该包含数据对象中的所有值,但是它没有填充任何选项。 JS(Coffeescript)代码段: 最后一节特别重要,因为这是JSON数据对象应转换为新选项的地方。下面是在一种情况下响应的对象(根据Firebug): 在本例中,儿童