如何使用Apache POI在Java中读取Excel ListBox值

如何使用Apache POI在Java中读取Excel ListBox值? 在networking上,这是讨论这个问题的唯一线索。 http://apache-poi.1045710.n5.nabble.com/sample-code-to-read-excel-listbox-values-td2308018.html

但是这个代码不起作用。 它使用这个代码

HSSFWorkbook workbook = null; HSSFSheet sheet = null; HSSFRow row = null; HSSFCell cell = null; HSSFDataValidation dataValidation = null; try { inputStream = new java.io.FileInputStream(new java.io.File("C:/temp/data validation.xls")); workbook = new HSSFWorkbook(inputStream); sheet = workbook.getSheetAt(0); validationRecords = sheet.getDVRecords(); 

但是在我使用的HSSF版本中,“getDVRecords”方法在HSSFSheet中不可用。

有没有更好的工作代码?

编辑:我已经有代码读取正常单元格或下拉列表的值。 我正在寻找代码来阅读列表框。 列表框是您可以select多个值的地方。 列表框不绑定到任何特定的单元格。 它们以叠加在表单上的组件forms出现

请参考这个链接看看如何添加列表框。 这将有助于更好地理解我的问题。 http://office.microsoft.com/en-in/excel-help/add-a-list-box-or-combo-box-to-a-worksheet-HP010236681.aspx

曾经尝试过使用jExcel API? 它使用Apache POI,并且很容易处理:

net.sourceforge.jexcelapi:JXL:2.6.12

你可以尝试这样的方式:

 WorkSheet sheet; Cell comboBox = sheet.getCell(x,y); String value= comboBox.getContents(); 

问候