XLSX 파일을 업로드하고 웹 사이트에서 읽을 수 있도록 코드를 편집하려고했습니다. 그러나 무수히 시도한 후에 XLSX 파일에 입력 한 데이터는 웹 사이트에서 캡처 할 수 없습니다. (예 : 웹 사이트에서 XLSX 템플릿을 다운로드 한 후 XLSX 파일에 원하는 내용을 입력 할 수 있고 다시 웹 사이트에 업로드 할 수 있으므로 "new"를 클릭하여 새 데이터를 계속 추가 할 필요가 없습니다. "매번 한 번에 XLSX 파일의 모든 내용을 입력하고 바로 업로드 할 수 있습니다.POI 용 해시 맵 사용 Java XLSX
나는 hashmap을 사용한다고 들었지만 작동 방식이 확실하지 않습니다. 내가 현재 가지고있는 코드는 웹 사이트가 헤더 제목을 캡처 할 수있게하고 jxl을 사용하지 않을 것입니다.
jxl이있는 코드를 제거하는 동안 일부 오류 (빨간색 밑줄)가 발생합니다.
public HashMap getConstructJXLList_xlsx(UploadedFile File, int Sheetindex) {
String _LOC = "[PageCodeBase: getConstructJXLList]";
HashMap _m = new HashMap();
InputStream _is = null;
try {
_is = File.getInputstream();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
XSSFWorkbook workbook;
XSSFSheet s;
try {
workbook = new XSSFWorkbook(_is);
s = workbook.getSheetAt(Sheetindex);
} catch (Exception e) {
System.out.println(_LOC + "1.0 " + " Test:");
int _totalc = getColumns(); //getColumns is being underline in red
int _totalr = getRows(); //getRows is being underline in red
// Header r=0
String[] _st = new String[_totalc];
//XSSFSheet sheet = null;
for (int _c = 0; _c < _totalc; _c++) {
_st[_c] = getCell(_c, 0); //getCell is being underline in red
}
_m.put("HEADER", _st);
System.out.println(_LOC + "1.0 " + " _m:" + _m);
// Data r=1 thereafter
List _l = new ArrayList();
for (int _r = 1; _r < _totalr; _r++) {
Object[] _o = new Object[_totalc];
String _s_r = null;
for (int _c = 0; _c < _totalc; _c++) {
_o[_c] = getCell(_c, _r);
String _cn = _o[_c].getClass().getName();
String _s_c = null;
if (!isEmptyNull(_s_c)) {
_s_r = "record_available";
}
}
if ((_o != null) && (_o.length != 0)) {
_l.add(_o);
}
}
_m.put("DATA", _l);
System.out.println(_LOC + "1.0 " + " _m:" + _m);
}
return _m;
}
이 문제를 해결할 수 있도록 도와 주시겠습니까? 웹 사이트에 캡처되는 데이터가없는 이유는 무엇입니까?
표시된 오류는 "메서드 getColumns/getCell/getRows가 PageCodeBase 유형에 대해 정의되지 않았습니다."입니다. 주어진 도움말/빠른 수정은 새로운 방법을 만드는 것입니다. 그러나 새 메서드를 만든 후에는 메서드에 추가 할 항목이 확실하지 않습니다. 다양한 예제 (http://snippetjournal.wordpress.com/2014/02/05/read-xlsx-using-poi/)를 시도했지만 나는 그것을 해결할 수없는 것 같습니다. 당신이
2) input.close();
예외는 어디에서 발생합니까? –