シートの拡大率を設定

広告

表示されるシートの拡大率を設定する方法を確認します。拡大率を設定するには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%となります。

サンプルプログラム

実際に試してみましょう。

Sample5_1.java

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
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。