programing

Apache POI를 사용하여 Excel 차트 생성

megabox 2023. 7. 13. 20:47
반응형

Apache POI를 사용하여 Excel 차트 생성

Apache POI 라이브러리를 사용하여 막대 차트, 라인 차트 등의 차트가 포함된 내 Java 코드에서 엑셀 시트를 만들어야 합니다.가능합니까?동일한 코드에 대한 유용한 코드 예제를 찾을 수 없습니다.

자바용 POI 라이브러리 외에 이에 대한 다른 대안이 있습니까?

OI로 차트를 보존하려면 Excel 템플릿만 사용할 수 있습니다.즉, 차트가 포함된 Excel 템플릿 파일을 만들고 차트의 데이터 소스를 하나의 정의된 이름에 연결한 다음 POI에서 템플릿 파일을 로드하고 코드를 사용하여 정의된 이름을 변경할 수 있습니다.현재 POI는 차트를 처음부터 만드는 것을 지원하지 않습니다.

Poi-3.8에서는 차트에 대한 지원이 이루어질 것으로 보입니다.

토론을 참조하십시오.

특히, 예를 들어 보겠습니다.

자바용 POI 라이브러리 외에 이에 대한 다른 대안이 있습니까?

다른 도서관도 몇 군데 있는데 차트처럼 쓸 수 있을지 모르겠어요.

최신 Office 버전(XML 기반 형식 파일을 사용하는 버전)을 사용할 수 있는 경우 다른 방법을 사용할 수 있습니다.

  • 필요한 차트와 더미 데이터가 포함된 최신 버전의 Office로 Excel 파일을 만듭니다.
  • Excel 파일의 압축을 풀고 내부에서 XML 파일의 압축을 풉니다.가장 중요한 것은 xl\worksheets\sheet1.xml xl\worksheets\sheet2.xml 또는 xl\worksheets\sheet3.xml 파일입니다(사용된 시트에 따라 다름).
  • 파일 형식(POI를 사용하는 것보다 더 복잡함)을 살펴보십시오. 하지만 이전에 입력한 "더미" 데이터를 식별하는 것은 그리 어렵지 않을 것입니다.
  • Velocity 또는 FreeMarker를 사용하여 해당 xml 파일을 템플릿으로 변환합니다(같은 결과를 생성하는 변수와 매크로로 더미 데이터를 교체함).
  • 실제 데이터를 가져오고 템플릿과 병합한 다음 모든 것을 zip으로 다시 포장하지만 *.xlsx 확장자를 넣는 작은 프로그램(몇 줄만)을 작성합니다.

위의 단계가 조금 복잡해 보이는 것은 알지만, 너무 복잡한 엑셀 파일이 없다면 보기보다 쉬울 것입니다.

그 실은 오래된 것처럼 보이고 당신이 이미 방법을 찾았는지 아니면 아직 찾고 있는지 모르겠습니다.

하지만 제가 할 일은 이렇습니다.JFreeChart라는 무료 도서관이 있습니다.이를 사용하여 JPG 또는 PNG 파일을 생성하고 Apache POI로 생성할 때 Excel 파일에 삽입할 수 있습니다.

그러나 이 방법의 단점은 Excel의 경우처럼 스프레드시트의 데이터를 변경할 때 그래프의 데이터가 동적으로 변경되지 않는다는 것입니다.이제 그것은 내가 참을 수 없는 것입니다.

그래서 저는 지금 조사를 좀 하려고 합니다.질문이 있었으므로 Apache POI 또는 다른 우아한 방식의 기능이 추가되어야 한다고 확신합니다.만약 제가 어떤 것을 발견한다면, 저는 여기에 제 발견을 게시할 것입니다.

업데이트 ----

약 한 시간 동안 연구한 결과, 제가 사용하는 것과 거의 비슷한 SmartXLS라는 적합한 라이브러리(구글해 주십시오, 제가 초보자이고 스팸 방지 메커니즘이 시작되었기 때문에 링크를 게시할 수 없었습니다)를 찾을 수 있었습니다.프로그램을 통해 엑셀과 차트를 모두 생성할 수 있습니다.웹사이트가 매우 단순하고 라이선스 정보를 찾을 수 없어서 개인적으로나 상업적으로 무료로 이용할 수 있을 것 같습니다.저는 도서관을 문제없이 다운로드 할 수 있었습니다.저는 아직 사용하지 않았습니다.한 번 해보고 어떻게 되는지 알려주세요.

차트를 만들기 위해 Excel 파일에 무엇이 들어가야 하는지 파악해야 하므로 처음부터 수행하는 작업은 매우 복잡합니다.저는 다른 길로 갈 것입니다.

일부 데이터에 대한 막대 차트 등을 만드는 매크로가 포함된 Excel 파일을 만듭니다(일반적인 방법으로 Excel 사용).그런 다음 Apache POI를 사용하여 원하는 데이터로 파일을 만들고 Java에서 Excel을 시작하여 차트를 만드는 매크로를 실행합니다.

다음은 작업 예제입니다.

  • JSON에 데이터가 있고 매크로가 있는 .xlsm 템플릿 파일이 있습니다. - Excel에는 차트, 데이터 또는 범위 이름이 필요하지 않습니다.

  • 차트가 포함된 시트를 생성해야 할 때마다 템플릿 시트를 복제하고, 필요한 차트 유형을 z1에 배치하고, 삽입된 기본 선 차트를 적절한 차트 유형으로 변경합니다.다중 실행을 방지하기 위해 z1에서 차트 유형을 제거합니다.

도움이 되길 바랍니다.

언급URL : https://stackoverflow.com/questions/3354092/create-excel-chart-using-apache-poi

반응형