나는받는 Excel (.xls) 파일을 읽을 필요가있다. UTF-8, Cp1252, ISO-8859-1, UTF-16LE와 같은 일반 문자셋을 사용하면 아무 도움도 안됩니다. 문자는 여전히 형식이 잘못되었습니다.텍스트와 같은 Excel (.xls) 파일을 읽는 방법은 무엇입니까?
따라서 검색 결과는 juniversalchardet으로 끝났습니다. 그 문자셋은 MacCyrillic이고 MacCyrillic을 사용하여 파일을 읽었지만 여전히 이상한 결과를 보였습니다.
Excel에서 파일을 열면 모든 문자가 괜찮습니다. 포르투갈어로 채워진 부엉 등이 있기 때문에 괜찮습니다. 하지만 부엉 메모장이나 물마루 자바 파일을 여는 모든 엉망입니다. 하지만 내 엑셀에서 파일 열기 후이 캐릭터 세트 내가 올바른 캐릭터 세트를 발견 할 수있는 방법
public static void lerCharset(String fileName) throws IOException {
byte[] buf = new byte[50000000];
FileInputStream fis = new FileInputStream(fileName);
// (1)
UniversalDetector detector = new UniversalDetector(null);
// (2)
int nread;
while ((nread = fis.read(buf)) > 0 && !detector.isDone()) {
detector.handleData(buf, 0, nread);
}
// (3)
detector.dataEnd();
// (4)
String encoding = detector.getDetectedCharset();
if (encoding != null) {
System.out.println("Detected encoding = " + encoding);
} else {
System.out.println("No encoding detected.");
}
// (5)
detector.reset();
fis.close();
}
을 찾을 수
내 방법 읽을하게 된 .txt처럼 다시 저장하면? 다른 시도해야합니까? 내 자바를 다시 저장하고 엑셀을 읽기 시작한 것처럼?
내가 아파치 POI는 .CSV로이 파일을 저장 할 수 있습니까? 이 Excel은 형식이 지정되지 않았으며 2 개의 열을 가지고 있으며 정의가 라인에 작성되어 정말 혼란 스럽지만 그게 내가 처리해야 할 대상입니다 – prabello
"정의가 행에 있음"은 무엇을 의미합니까? –
파일에는 열 A와 B가 있고 열 A 안에는 열이어야하고 B에 값이있는 "정의"가 있습니다. 하지만 COLUM A ROW 14처럼 -> 설명 COLUM B 행 14 -> XXXX COLUM B 행 15 -> XXXX 계속> – prabello