我想使用foreach迭代我的excel文件中的所有单元格,以便设置单个前景色.这就是我到目前为止所拥有的.
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Sheet1");
sheet = wb.getSheetAt(0);
for (HSSFRow myrow : sheet){
for (HSSFCell mycell : myrow){
//set foreground color here
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,对于报表for (HSSFRow myrow : sheet)和for (HSSFCell mycell : myrow)我得到:
只能遍历数组或实例
java.lang.Iterable
我检查HSSFSheet和HSSFRow-它们实现java.lang.Iterable(Row)与java.lang.Iterable(Cell)分别.
oma*_*llo 23
试试这个.编译好了
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Sheet1");
sheet = wb.getSheetAt(0);
for (Row myrow : sheet) {
for (Cell mycell : myrow) {
//set foreground color here
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用POI 3.7稳定
请考虑使用流进行更具声明性的样式迭代:
Workbook wb = WorkbookFactory.create(new FileInputStream("filename.xlsx"));
Sheet sheet = wb.getSheetAt(0);
StreamSupport.stream(sheet.spliterator(), false)
.filter(...)
.map(...)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)