2

Excel には、シートを表示するためのさまざまなモードがあります。通常、ページ レイアウト、改ページ プレビューです。(Excel 2010 の場合: ビュー タブ)。ビュー モードはワークブックのシートごとに個別に保存され、再度開くと復元されます。

HSSF または XSSF を使用して表示モードを設定する方法を見つけようとしています。残念ながら、古いバイナリ形式では、答えを見つけることはまったく不可能に思えます。2007年以降のOOXML形式の差分では、xl/worksheets/sheet1.xmlを見ると基本的な答えが得られます。通常のビューでは:

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

ページ レイアウト ビュー:

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

これは、各シートの 2 番目のタグです。その属性を編集する XSSF API オプションはありますか? (または、問題の唯一の解決策は、ファイルを解凍し、編集して再パックすることです)

ありがとう!

4

1 に答える 1

2

XSSF はこれを直接公開しませんが、必要に応じて取得できます

オブジェクトからXSSFSheet呼び出しgetCTWorksheetて、シートを裏打ちする低レベルの XML オブジェクトを取得します。CTWorksheet はgetSheetViewsメソッドを提供します。あなたは次のようなものが欲しいでしょう:

 CTSheetView view = sheet.getCTWorksheet().getSheetViews().getSheetViewArray(0);
 view.setView(STSheetViewType.PAGE_LAYOUT);
于 2011-10-24T13:57:53.627 に答える