当前位置: 首页 > 知识库问答 >
问题:

使用Apache POI的Excel下拉列表

谢宸
2023-03-14

我需要使用Apache POI在excel文件中创建一个下拉列表。我能够做到这一点,但我不能使下拉列表中的第一个项目作为默认项目。

public class sd {

/**
 * @param args
 * @throws IOException 
 */
public static void main(String[] args) throws IOException {

DataValidation dataValidation = null;
DataValidationConstraint constraint = null;
DataValidationHelper validationHelper = null;

 XSSFWorkbook wb = new XSSFWorkbook();
 XSSFSheet sheet1=(XSSFSheet) wb.createSheet("sheet1");


    validationHelper=new XSSFDataValidationHelper(sheet1);
    CellRangeAddressList addressList = new  CellRangeAddressList(0,5,0,0);
    constraint =validationHelper.createExplicitListConstraint(new String[]{"SELECT","10", "20", "30"});
    dataValidation = validationHelper.createValidation(constraint, addressList);
    dataValidation.setSuppressDropDownArrow(true);      
    sheet1.addValidationData(dataValidation);

    FileOutputStream fileOut = new FileOutputStream("c:\\temp\\vineet.xlsx");
    wb.write(fileOut);
    fileOut.close();
}

}

共有1个答案

养慈
2023-03-14

要设置默认值,只需setCellValue(“first_item_value”);

sheet.getRow(1).getCell(index).setCellValue("my_default_value");

我做这件事是因为面对同样的问题。

 类似资料:
  • 嗨Stackoverflow社区, 如果满足条件,我想添加一个数据验证下拉列表。 如果“最终侦察”出现在C列中,则以以下状态填充下拉列表:“最终”或“正在审查”,否则不要填充下拉列表。 我可以使用非VBA验证列表,但在这种类型的评估审查中,我需要使用VBA版本。 这就是我到目前为止所拥有的,我被困得很厉害。我在C栏有“最终侦察”,如果最终侦察出现在C栏,然后用“最终”和“正在审查”的选项填充下拉列

  • 我的方法我尝试使用名称范围为我的2列。然后转到下一个工作表并创建2列(CountryInput,CitiesInput)。在名为CountryInput的专栏中,我进入数据验证工具以创建第一个下拉列表。CitiesInput列应该依赖于CountryInput是我遇到的问题。我尝试使用indirect=a2函数,但没有任何结果。 我也可以使用vba或宏来做这件事吗?

  • 用户可以将Excel文档保存为. xls或xml-table。结果是一个具有固定结构的xml-file,Excel可以用它纠正工作。 可以用java中的ApachePOI打开这种类型的excel文件吗? 事先谢谢你,安德烈。

  • 嗨,我想在第一行搜索一个字符串,如果找到了,我想移动那一列。

  • 问题内容: 我需要在Excel工作表中的特定单元格上创建一个下拉列表(数据验证),然后将其读回。 在提供的教程的帮助下,我能够在Excel工作表中创建一个下拉列表,但是再次阅读该列表时,我还需要阅读该下拉列表的内容,以便可以呈现类似的下拉列表在用户界面上列出。 有什么建议? 问题答案: DataValidation甚至存储在HSSF工作簿中,但是它在该库中,并且由于这样,对它的访问权不提供给应用程

  • 如果c.value=activeSheet.range(“A2:A10000”)。value然后“selected GrantNumber”,则在以下位置出现类型不匹配错误: 任何帮助都很感激。谢谢