난 둘 다 사용하고 JXL (지금 "JExcel")와 아파치 POI를 . 처음에는 JXL을 사용했지만 지금은 Apache POI를 사용합니다.
첫째, 두 API가 동일한 최종 기능을 갖는 항목은 다음과 같습니다.
- 둘 다 무료입니다
- 셀 스타일 : 정렬, 배경 (색상 및 패턴), 테두리 (유형 및 색상), 글꼴 지원 (글꼴 이름, 색상, 크기, 굵게, 기울임 꼴, 취소 선, 밑줄)
- 방식
- 하이퍼 링크
- 병합 된 셀 영역
- 행과 열의 크기
- 데이터 형식 : 숫자 및 날짜
- 셀 내 텍스트 줄 바꿈
- 틀 고정
- 머리글 / 바닥 글 지원
- 기존 및 새 스프레드 시트 읽기 / 쓰기
- 두 가지 모두 스프레드 시트에있는 기존 개체를 가능한 한 그대로 유지하려고합니다.
그러나 많은 차이점이 있습니다.
- 가장 중요한 차이점은 Java JXL이 Excel 2007+ ".xlsx"형식을 지원하지 않는다는 것입니다. 이전 BIFF (이진) ".xls"형식 만 지원합니다. Apache POI는 공통 디자인으로 두 가지를 모두 지원합니다.
- 또한 JXL API의 Java 부분은 C # API가있는 것처럼 보이지만 2009 년에 마지막으로 업데이트되었습니다 (3 년, 4 개월 전에 작성). Apache POI는 적극적으로 유지됩니다.
- JXL은 조건부 서식을 지원하지 않지만 Apache POI는 그다지 중요하지는 않지만 자신의 코드로 셀을 조건부 서식으로 지정할 수 있기 때문에 중요하지 않습니다.
- JXL은 서식 있는 텍스트 형식, 즉 텍스트 문자열 내의 다른 형식을 지원하지 않습니다 . Apache POI는이를 지원합니다.
- JXL은 가로 / 세로, +/- 45도, 스택 등 특정 텍스트 회전 만 지원합니다. Apache POI는 모든 정수 각도 플러스 스택을 지원합니다.
- JXL은 도형 그리기를 지원하지 않습니다. Apache POI는 그렇습니다.
- JXL은 가로 / 세로, 여백, 용지 크기 및 확대 / 축소와 같은 대부분의 페이지 설정 설정을 지원합니다. Apache POI는이 모든 기능과 반복되는 행 및 열을 지원합니다.
- JXL은 분할 창을 지원하지 않습니다. Apache POI는 그렇습니다.
- JXL은 차트 생성 또는 조작을 지원하지 않습니다. Apache POI에는 아직 지원이 없지만 API가 천천히 형성되기 시작했습니다.
- Apache POI에는 JXL보다 더 광범위한 문서 및 예제가 있습니다.
또한 POI에는 기본 "usermodel"API뿐만 아니라 스프레드 시트 콘텐츠를 읽는 것이 원하는 경우 이벤트 기반 API도 포함됩니다.
결론적으로 더 나은 문서, 더 많은 기능, 활발한 개발 및 Excel 2007+ 형식 지원으로 인해 Apache POI를 사용합니다.