jxl을 사용하여 템플릿을 이용하여 excel 파일 내보내기

1621 단어
일반적으로 데이터를 excel 형식으로 내보내야 하는데, 내보내야 하는 excel에는 셀 통합, 글꼴과 셀 배경 설정, 테두리 설정 등 복잡한 형식이 많이 포함되어 있다.jxl을 통해 코드에서 이 작업을 완성할 수 있지만 비교적 번거롭고 유지보수하기 어렵다.따라서 고정된 내용을 excel 파일에 미리 쓰고 이 파일을 리소스 디렉터리에 저장할 수 있습니다. 내보내기를 실행해야 할 때 이 파일에 따라 새로운 워크북 대상을 만들고 이를 바탕으로 데이터 충전 작업을 완성할 수 있습니다. 아래 코드 세션을 참고하십시오.
 //   Excel  
 jxl.Workbook rw = jxl.Workbook.getWorkbook(new File(sourcefile));
 //   Excel  
 jxl.write.WritableWorkbook  wwb = Workbook.createWorkbook(new File(targetfile), rw);

 //  
 jxl.write.WritableSheet ws = wwb.getSheet(0);
 //  
 jxl.write.WritableCell wc = ws.getWritableCell(0, 0);

 //   ,  
 if(wc.getType() == CellType.LABEL)
 {
 Label l = (Label)wc;
    l.setString("The value has been modified.");
 }
 //   Excel  
 wwb.write();
 //   Excel  
 wwb.close();
 //   Excel  
 rw.close();

 
이런 방식으로 Excel 대상을 구축하는 것은 전적으로 효율 때문이다. 왜냐하면 위의 예시가 API의 주요 응용이기 때문이다.성능을 향상시키기 위해 작업표를 읽을 때 데이터와 관련된 출력 정보, 모든 형식 정보, 예를 들어 글씨체, 색깔 등은 처리되지 않는다. 왜냐하면 우리의 목적은 줄 데이터의 값을 얻는 것이기 때문에 수식이 없을 뿐만 아니라 줄 데이터의 값에도 아무런 영향을 미치지 않는다.유일한 불리한 점은 메모리에 두 개의 같은 작업표를 동시에 저장하는 것이다. 이렇게 하면 작업표의 부피가 비교적 크면 상당히 큰 메모리를 차지하지만 지금은 메모리의 크기가 중요한 요소가 아닌 것 같다.
일단 쓸 수 있는 작업표 대상을 얻으면 우리는 단원격 대상을 업데이트할 수 있습니다. 여기서 우리는 API가 제공하는add() 방법을 호출할 필요가 없습니다. 단원격이 작업표에 있기 때문에 상응하는 setXX() 방법만 호출하면 업데이트 작업을 완성할 수 있습니다.
단원격의 원래 포맷된 수식은 제거할 수 없지만, 우리는 단원격의 내용을 다른 형식으로 표현하기 위해 새로운 단원격의 수식을 추가할 수 있다.
새로 생성된 작업표의 대상은 쓸 수 있습니다. 우리는 기존의 칸을 업데이트하는 것 외에 새로운 칸을 작업표에 추가할 수 있습니다. 이것은 예시 2의 작업과 똑같습니다.
마지막으로, write () 방법을 호출하여 업데이트된 내용을 파일에 쓰고 얇은 대상을 닫는 것을 잊지 마십시오. 여기에 두 개의 얇은 대상이 있는데 하나는 읽기만 하고 다른 하나는 쓸 수 있습니다.

좋은 웹페이지 즐겨찾기