엑셀 파일의 모든 행을 읽고지도에 저장하고 싶습니다.엑셀의 모든 행을 읽고지도에 저장하는 방법
내 입력 파일
ID| Name| details
1| xx| {
"user":"xx",
"email":"[email protected]"
}
2| yy| {
"user":"yy",
"email":"[email protected]"
}
내가 제공 한 ID를 기반으로 엑셀의 값을 얻으려면, 다음과 같이 보일 것입니다. 내가 2의 값을 전달하면 ID - 2에 해당하는 이름과 세부 정보를 반환해야합니다. 그래서지도와 키 값을 ID로 사용하려고했습니다.
String fileToParse = "D:\\InputData.xls";
BufferedReader fileReader = null;
String line = "";
fileReader = new BufferedReader(new FileReader(fileToParse));
line = fileReader.readLine();
Map<Long, String> dataMap = new HashMap<Long, String>();
while ((line = fileReader.readLine()) != null)
{
data dataTO = new data();
String[] s = line.split("|");
String value = s[1] + "," + s[2] + "," + s[3];
dataMap.put(Long.parseLong(s[0]), value);
}
long id = 2;
String val = dataMap.get(id);
String url = val.split(",")[0];
String input = val.split(",")[1];
또한 엑셀의 값에 대한 getter와 setter 메소드는 다음과 같이 파일을해야합니다 내 데이터 클래스,
public class data {
private int id;
private String name;
private String details;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDetails() {
return details;
}
public void setDetails(String details) {
this.details = details;
}
}
위의 코드는 일반 문자열 값뿐만 경우 잘 작동 세부 정보 입력란에 Json 값을 입력하면지도의 값이
1|Url 01|"{
으로 저장됩니다. 전체 json 가치 대신. 누구든지이 문제를 해결하는 방법을 알려 줄 수 있습니까? 아니면 이것에 대한 다른 접근법이 있습니까?
안녕하세요. 귀하의 코드를 보내 주셔서 감사합니다. 나는 같은 방법으로 코드를 추가했지만 실제로 작동하지만 널 포인터 예외가 발생합니다. 네 번째 열을 읽은 후 다음 열을 읽고 null 값을 얻으려고합니다. 이 문제를 해결하도록 도와 주시겠습니까? – Jugi
json 값은 여분의 구분 기호 (")로 정규화됩니다. 내 json은"{ " "사용자 이름 "": ""xxx "", ""pwd "": "yyy" " }"| "{ " " "사용자 이름" ":" "xxx" ", " "pwd" ":" "yyy" " }"이므로 null 포인터 예외를 반환했습니다. 여분의 구분 기호를 제거한 후이 코드는 내 문제를 해결합니다. – Jugi