2014-01-23 1 views
0

아파치 POI를 사용하여 엑셀 시트 (.xls 형식)를 생성하고 있습니다. 첫 번째 시트에서 동일한 문서의 다른 시트로 연결되는 여러 개의 하이퍼 링크를 만들었습니다.아파치 POI를 사용할 때 오픈 오피스가 잘못 표시됩니다.

HSSFSheet summarySheet = workbook.createSheet(rs.getString(1));  
Hyperlink targetLink = createHelper.createHyperlink(Hyperlink.LINK_DOCUMENT); 
targetLink.setAddress("'"+rs.getString(1)+"'"); 

나는 위의 코드 스 니펫을 사용하여 시트 및 시트에 대한 하이퍼 링크를 만듭니다. 보시다시피, 데이터베이스의 주소를 동적으로 설정함에 따라 시트 수가 달라집니다. 이 접근법은 잘 작동했지만 지금은 문제가 발생했습니다.

내가 말했듯이 각 링크는 마지막 링크를 제외하고 동일한 문서에서 다른 시트를 열 것입니다. 이것을 클릭하면 Open Office는 "유효하지 않은 범위"라는 팝업 메시지를 표시합니다. 이제 코드에 문제가 있는지 또는 코드와 관련이 있는지 알 수 없습니다. 누군가가 비슷한 문제가 발생했는지 또는 누군가 Open Office가 이러한 오류를 발생시키는 이유를 알고 있는지 확인하고 싶었습니다. 질문이 contructive하지 않거나 잘못된 곳에서 묻는다면 느껴지는 사람이 있으면 downvoting 등을하기 전에 나를 안내하십시오. 고마워요.

편집 : 지금은 그것이 내가 setLinkAddress()에 설정하고있어 Target Sheet 함께 할 수있는 뭔가를 가지고 확인했다고. 누구든지 대상 시트의 이름을 지정하는 데 올바른 형식이 무엇인지 말해 줄 수 있습니까?

답변

0

이 문제에 대한 해결책을 찾았습니다. 의심 스러웠으므로 대상 시트의 이름 형식과 관련이 있습니다. 오픈 오피스에서 "잘못된 범위"오류가 발생하는 대상 시트의 이름에는 특정 길이가 있습니다. 시트 이름을 만드는 동안 시트 이름의 길이를 줄일 수 있습니다. 정확한 길이는 모르지만 필자가 본 것부터는 열려있는 사무실 화면 하단의 시트 탭에 완전히 표시 될 수있을만큼 길어야합니다.

관련 문제