内容简介:翻译自:https://stackoverflow.com/questions/9049995/java-poi-how-to-find-an-excel-cell-with-a-string-value-and-get-its-position-ro
我正在寻找一个包含字符串’Total’的电子表格中的单元格,然后使用该单元格所在的行来查找另一个单元格中的总值,该单元格始终是相同的单元格/列(0中的第10个单元格)基于索引).
我有以下代码,没有错误(语法),但findCell方法没有返回rowNum值:
public static void main(String[] args) throws IOException{ String fileName = "C:\\file-path\\report.xls"; String cellContent = "Total"; int rownr=0, colnr = 10; InputStream input = new FileInputStream(fileName); HSSFWorkbook wb = new HSSFWorkbook(input); HSSFSheet sheet = wb.getSheetAt(0); rownr = findRow(sheet, cellContent); output(sheet, rownr, colnr); finish(); } private static void output(HSSFSheet sheet, int rownr, int colnr) { /* * This method displays the total value of the month */ HSSFRow row = sheet.getRow(rownr); HSSFCell cell = row.getCell(colnr); System.out.println("Your total is: " + cell); } private static int findRow(HSSFSheet sheet, String cellContent){ /* * This is the method to find the row number */ int rowNum = 0; for(Row row : sheet) { for(Cell cell : row) { while(cell.getCellType() == Cell.CELL_TYPE_STRING){ if(cell.getRichStringCellValue().getString () == cellContent);{ rowNum = row.getRowNum(); return rowNum; } } } } return rowNum; } private static void finish() { System.exit(0); } }
此方法修复是您的问题的解决方案:
private static int findRow(HSSFSheet sheet, String cellContent) { for (Row row : sheet) { for (Cell cell : row) { if (cell.getCellType() == Cell.CELL_TYPE_STRING) { if (cell.getRichStringCellValue().getString().trim().equals(cellContent)) { return row.getRowNum(); } } } } return 0; }
请记住,您的colnr仍然是固定值.
翻译自:https://stackoverflow.com/questions/9049995/java-poi-how-to-find-an-excel-cell-with-a-string-value-and-get-its-position-ro
以上所述就是小编给大家介绍的《Java POI:如何查找具有字符串值的Excel单元格并获取其位置(行)以使用该位置查找另一个单元格》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- PHP有序表查找之二分查找(折半查找)算法示例
- 查找--插值查找(Java)
- 查找算法(一):查找
- 二叉查找树(查找、插入、删除)——C语言
- 数据结构和算法(Golang实现)(27)查找算法-二叉查找树
- 七大查找算法
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
大数据时代
[英] 维克托•迈尔•舍恩伯格(Viktor Mayer-Schönberger) / 周涛 / 浙江人民出版社 / 2012-12 / 49.90元
《大数据时代》是国外大数据研究的先河之作,本书作者维克托•迈尔•舍恩伯格被誉为“大数据商业应用第一人”,拥有在哈佛大学、牛津大学、耶鲁大学和新加坡国立大学等多个互联网研究重镇任教的经历,早在2010年就在《经济学人》上发布了长达14页对大数据应用的前瞻性研究。 维克托•迈尔•舍恩伯格在书中前瞻性地指出,大数据带来的信息风暴正在变革我们的生活、工作和思维,大数据开启了一次重大的时代转型,并用三......一起来看看 《大数据时代》 这本书的介绍吧!