java我需要在excel中使用POI在指定列中编写一个pass-fail
好的-所以我在写了一些代码并弄明白了一些东西之后意识到jxl不支持xlsx,只支持POI(XSSF)。好的。我试图做的是在指定列中搜索字符串值为“Result”的单元格。一旦我发现,当测试通过或失败时,它会在空白单元格中写入“通过”或“失败”。它将继续这样做,直到测试集完成。下面是我使用jxl编写的代码
WritableWorkbook wb = Workbook.createWorkbook(new File(testData), workbook);
WritableSheet ws = wb.getSheet("OrderCreateQA3");
int colCount = ws.getColumns();
for(int j=0; j<colCount; j++){
Cell cell = ws.getCell(j,0);
if(cell.getContents().contains("Result")){
Cell[] cells = ws.getColumn(j);
int len = cells.length;
Label label = new Label(j,len, "Fail", getCellFormat(Colour.RED));
ws.addCell(label);
break;
}
}
wb.write();
wb.close();
上面的内容非常简单,我找到字符串,然后得到该列名,并根据长度写“通过”或“失败”。有没有关于如何使用POI的想法
# 1 楼答案
这也很简单。只需将
jxl
类/方法替换为它们的POI对应项:POI有一个XSSFWorkbook 使用
XSSFWorkbook(java.io.File file)
构造函数和XSSFSheet getSheet(java.lang.String name)
方法XSSFSheet
有一个XSSFRow getRow(int rownum)
方法(例如循环直到getLastRowNum()
)XSSFRow
有一个XSSFCell getCell(int cellnum, ...)
方法XSSFCell
具有适当的getter/setter