2012-09-02 3 views

답변

1

답변은 구현하려는 기능의 종류에 따라 다릅니다. POI에 현재 구현되어 있지 않은 특수한 미리 정의 된 ID가 파일 형식에있는 기본 제공 함수 중 하나입니까? 아니면 사용자 정의 함수를위한 것입니까? (일부 최신 Excel 기능은 실제로 파일 형식의 UDF로 구현됩니다.

후자 인 경우 POI Website에서 수행하는 방법에 대한 훌륭한 문서가 있습니다. follow it을 제안하고 싶습니다. 벌금!

이전 버전 인 경우 약간 더 까다 롭습니다. 최선의 방법은 직접 수식을 구현하고 POI Bugzilla의 개선 버그를 열고 구현을 첨부 한 다음 수정 사항이 포함 된 야간 빌드를 가져 오는 것입니다. 테스트를 위해서는 함수 메타 데이터 파일을 편집하여 클래스를 함수의 파일 형식 ID에 등록해야합니다. 조금 어지러운 것이지만, 모두가 POI에 누락 된 기능 하나를 제공한다면 우리는 곧있을 것입니다!

업데이트 : 내장 기능 구현에 대한 자세한 정보. 먼저 functionMetadata.txt (해당 사례의 311)에있는 함수의 ID를 찾으십시오. 그런 다음 함수를 구현하십시오. 이제 org.apache.poi.ss.formula.eval.FunctionEval을 사용자 정의하고 해당 색인에 함수를 추가하십시오. 마지막으로 패치를 제출하십시오! (반쯤 의도적으로 내장 함수를 오버라이드하는 것은 어렵다. 사람들이 누락 된 것들을 기여하도록 격려하기 위해서이다.)

+0

필자는 고객 함수가 아니라 일반적인 엑셀 함수 인 "인터셉트"함수를 구현하려고한다. 지금 poi에 의해 평가된다. poi 웹 사이트에서 "svn.apache.org/repos/asf/poi/trunk/src/resources/main/org/apache/poi/ss/formula/function/functionMetadata.txt"를 찾았습니다.이 함수는 "New Built-In Sheet Functions in BIFF4 "를 사용하는 방법을 모르겠다. –

+0

업데이트 된 답변보기 – Gagravarr

+0

고마워요. 그러나 나는 너를 분명히 이해할 수 없다. 좀 더 구체적으로 설명해 주시겠습니까? 직접 코드를 작성해야합니까? –

관련 문제