2011-10-22 215 views
2

Excel에는 일반적으로 페이지 레이아웃, 페이지 나누기 미리보기 등의 여러 가지보기 모드가 있습니다. (2010 년 엑셀 :보기 탭에서). 보기 모드는 통합 문서의 각 시트마다 별도로 저장되며 다시 열면 복원됩니다.apache poi를 사용하여 Excel 파일에서 페이지보기 모드 설정

HSSF 또는 XSSF를 사용하여보기 모드를 설정하는 방법을 찾으려고합니다. 오래된 바이너리 형식에서는 대답을 찾는 것이 불행히도 불가능한 것처럼 보입니다.

페이지 레이아웃보기에서
<sheetViews> 
<sheetView rightToLeft="1" tabSelected="1" zoomScaleNormal="100" workbookViewId="0"> 
</sheetViews> 

가 :

<sheetViews> 
<sheetView rightToLeft="1" tabSelected="1" view="pageLayout" zoomScaleNormal="100" workbookViewId="0"/> 
</sheetViews> 

두 번째 즉 2007 이상 OOXML 형식 diffing의에서 일반보기에서 XL/워크 시트/sheet1.xml 보고, 기본적인 대답을 않는다 태그를 사용하십시오. 해당 속성을 편집 할 수있는 XSSF API 옵션이 있습니까? (또는 문제의 유일한 해결 방법은 파일의 압축을 풀고 편집하고 재 포장하는 것입니다)

고마워요!

답변

1

XSSF이 직접 노출되지 않지만, 당신이 XSSFSheet 객체에서

을 원한다면 당신은 그것을 얻을 수 있습니다, 시트를 백업 낮은 수준의 XML 객체를 얻기 위해 getCTWorksheet를 호출합니다. CTWorksheet는 getSheetViews 메소드를 제공합니다. 다음과 같은 것을 원할 것입니다 :

CTSheetView view = sheet.getCTWorksheet().getSheetViews().getSheetViewArray(0); 
view.setView(STSheetViewType.PAGE_LAYOUT);