1
내가 셀의 좌표를 얻으려고
A
답변
3
분명 솔루션은 suggested by user2310289이지만 iterators skip over blank rows and cells으로는 작동하지 않습니다. 당신이 원하는 경우,
// Decide which rows to process
int rowStart = Math.min(15, sheet.getFirstRowNum());
int rowEnd = Math.max(1400, sheet.getLastRowNum());
for (int rowNum = rowStart; rowNum < rowEnd; rowNum++) {
Row r = sheet.getRow(rowNum);
int lastColumn = Math.max(r.getLastCellNum(), MY_MINIMUM_COLUMN_COUNT);
for (int cn = 0; cn < lastColumn; cn++) {
Cell c = r.getCell(cn, Row.RETURN_BLANK_AS_NULL);
if (c == null) {
// The spreadsheet is empty in this cell
} else {
// Do something useful with the cell's contents
CellReference cr = new CellReference(c);
System.out.println("Cell at " + rowNum + "," + cn + " found, that's " + cr.formatAsString());
}
}
}
또는 :
그래서, 하나의 옵션은 빈 셀을 돌보는 수동으로 반복하는 것입니다, 그리고 세포가 어디 있는지 당신은 항상 알 같은 코드 뭔가 당신이 셀에서 행과 셀 인덱스를 볼 필요가, 내가 엑셀 셀의 좌표를 얻기 위해 다음 코드를 수행 한 예
for (Row r : sheet) {
for (Cell c : r) {
int columnNumber = c.getColumnIndex();
int rowNumber = c.getRow().getRowNum();
CellReference cr = new CellReference(c);
System.out.println("Cell at " + rowNum + "," + columnNumber + " found, that's " + cr.formatAsString());
}
}
1
을 쉽게 반복자를 사용합니다. 희망이 당신을 도울 것입니다.
public static void searchSheet(String searchText, XSSFSheet sheet)
{
int flag=0;
for (int i = sheet.getFirstRowNum(); i <= sheet.getLastRowNum(); i++)
{
XSSFRow row = sheet.getRow(i);
for (int j = row.getFirstCellNum(); j < row.getLastCellNum(); j++)
{
XSSFCell cell = row.getCell(j);
String CellData=cell.toString();
if(searchText.equals(CellData))
{
flag=1;
CellData=row.getCell(j+1).toString();
System.out.println(CellData);
System.out.println("String Found At Row="+ i +" and At Column="+j);
}
}
break;
}
if(flag==0)
{
System.out.println("String Not Found");
}
}
+0
왜이 줄을 추가했는지 이해할 수 없습니다. CellData = row.getCell (j + 1) .toString(); 이것을 가지고있는 동안 String CellData = cell.toString(); 어쨌든, 검색 솔루션의 종류에 대한 답장을 보내 주시면 감사하겠습니다. 나에게 도움이되었다. –
1
셀 주소를 얻을 수있는 가장 짧은 방법은 다음과 같습니다.
cell.getAddress() formatAsString()
다음
cell.getSheet을() 시트 이름을 얻을 수 있습니다. getSheetName()
관련 문제
- 1. 아파치 POI
- 2. 아파치 POI : getNumMergedRegions
- 3. 아파치 POI 및 자바
- 4. 아파치 POI 빈 값
- 5. 자바 - 아파치 POI - 문제
- 6. 아파치 POI in R
- 7. 아파치 POI 언어 버전
- 8. 안드로이드 아파치 POI 예외
- 9. 아파치 POI ClassNotFoundException
- 10. 이클립스에서 아파치 poi 개미 사용
- 11. 아파치 Poi 공식 문자열
- 12. 어떻게 아파치 POI
- 13. 아파치 POI 차이
- 14. 재 작성 코드를 내가 코드를 작성
- 15. , 내가 파이썬 2.7에서 다음 코드를 실행하는거야 지금 파이썬
- 16. 널 포인터 예외 아파치 POI
- 17. 어떻게 아파치 POI 파워 포인트 코드를 얻을 수 있습니까?
- 18. 아파치 POI - 읽기 수정 파일
- 19. 나는 영문에서 다음 코드를 작성
- 20. 아파치 POI : 말씀 얻을 사진
- 21. 아파치 자동 랩 POI (Excel)
- 22. 아파치 POI 엑셀 문자 제한
- 23. 아파치 POI 날짜 문자열 문제
- 24. 아파치 POI % 기호가있는 셀 읽기
- 25. 아파치 poi 마지막 행만 쓰기
- 26. 아파치 poi 대 파이썬 xlrd
- 27. 안드로이드는 아파치 POI API를 지원합니까?
- 28. 는 마지막 행 아파치 POI
- 29. 봄 : 아파치 POI Excel 파일 다운로드 내가 지금 같은 서비스 클래스에 생성되는 아파치 POI 라이브러리를 사용하여 엑셀 파일을 다운로드하는 매우 간단한 컨트롤러 방법이
- 30. 아파치 POI HSSF XLS 읽기 오류
더 좋은 방법이있을 것이라고 생각했습니다. 그러나 OP는 다른 질문에 따라 다른 것을 원한다. 나는 내 대답을 지울 것이다. –
왜 최대 행을 맺고 있습니까? 즉 1400입니까? 어떤 이유로 필요합니까? 1400 개가 넘는 행이 있으면 전체 파일이 처리되지 않습니다. – RTF
유스 케이스에 필요한대로 설정하거나 완전히 제거하십시오! 그냥 줄을 어떻게 제한하는지 예제를 제공합니다. – Gagravarr