POI包中如何获得EXCEL表格的行和列?

FabelYangf 2006-11-02 07:22:26
谢谢各位指点下,晕~~~
和JXL有区别
...全文
175 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wizardblue 2006-11-02
  • 打赏
  • 举报
回复
public static HSSFCell[][] read2Array(String fileName) throws IOException {
HSSFCell[][] res = null;

HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(fileName));

for (int k = 0; k < wb.getNumberOfSheets(); k++) {

HSSFSheet sheet = wb.getSheetAt(k);
int rows = sheet.getPhysicalNumberOfRows();
res = new HSSFCell[rows][];
for (int ri = 0; ri < rows; ri++) {
T.$("ri: "+ri);
HSSFRow row = sheet.getRow(ri);
int cols = row.getPhysicalNumberOfCells();
res[ri] = new HSSFCell[cols];
for (short col = 0; col < cols; col++) {
res[ri][col] = row.getCell(col);

}
}

}

return res;
}
usxue 2006-11-02
  • 打赏
  • 举报
回复
试试:

FileInputStream fis = new FileInputStream(filePath);
POIFSFileSystem fs = new POIFSFileSystem(fis);
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(i);
//行:
for (Iterator it = sheet.rowIterator(); it.hasNext();) {
HSSFRow row = (HSSFRow) it.next();
//列
for (Iterator cit = row.cellIterator(); cit.hasNext();) {
HSSFCell cell = (HSSFCell) cit.next();

switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_NUMERIC:
insertStr.append((long) cell.getNumericCellValue());
break;
case HSSFCell.CELL_TYPE_STRING:
insertStr.append("'" + cell.getStringCellValue() + "'");
break;
}
}
}
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧