シートの拡大率を設定
広告
表示されるシートの拡大率を設定する方法を確認します。拡大率を設定するにはSheetインターフェースで用意されているsetZoomメソッドを使います。
void setZoom(int numerator, int denominator)
Sets the zoom magnication for the sheet. The zoom is expressed as a fraction. For example to express a zoom of 75% use 3 for the numerator and 4 for the denominator. Parameters: numerator - The numerator for the zoom magnification. denominator - The denominator for the zoom magnification.
拡大率の設定は二つの引数に指定した値を使って"numerator"÷"denominator"に設定されます。例えば1番目の引数に3、2番目の引数に1を設定すれば 3÷1=3 となり拡大率は300%です。また1番目の引数に3、2番目の引数に4を指定すれば 3÷4=0.75 となり拡大率は75%となります。
実際の使い方は次のようになります。
InputStream in = new FileInputStream("filename.xls"); Workbook wb = WorkbookFactory.create(in); Sheet sheet = wb.getSheetAt(0); sheet.setZoom(1, 2);
この場合、シートの拡大率が50%となります。
サンプルプログラム
実際に試してみましょう。
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Row; import java.io.*; public class Sample5_1{ public static void main(String[] args){ Workbook wb = new HSSFWorkbook(); Sheet sheet1 = wb.createSheet(); Sheet sheet2 = wb.createSheet(); Sheet sheet3 = wb.createSheet(); sheet2.setZoom(2, 1); sheet3.setZoom(3, 4); FileOutputStream out = null; try{ out = new FileOutputStream("sample5_1.xls"); wb.write(out); }catch(IOException e){ System.out.println(e.toString()); }finally{ try { out.close(); }catch(IOException e){ System.out.println(e.toString()); } } } }
コンパイル後に実行すると3つのシートが含まれるワークブックが作成されます。1つ目のシートはデフォルトのままですが、2つ目のシートは拡大率を200%、3つ目のシートは拡大率を75%にそれぞれ設定しています。それでは作成されたファイルをExcelで開いてみます。
2つ目と3つ目のシートの拡大率が変更されていることが確認できます。
( Written by Tatsuo Ikura )
Profile
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。