Apache POI 印刷設定

POIの印刷設定はPrintSetupクラスから行う

 


    public static void main(String args[]){
        try (InputStream stream = new FileInputStream("Book1.xlsx"); FileOutputStream outstream = new FileOutputStream("Book1.xlsx");) {
            // Workbook = new HSSFWorkbook();
            Workbook book = new XSSFWorkbook(stream);
            /*プロパティーを取得*/
            PrintSetup printSetup = book.getSheetAt(0).getPrintSetup();

            /*印刷用紙設定*/
            printSetup.setPaperSize(PrintSetup.A3_PAPERSIZE);//定数はPrintSetupクラスにあります
            /*印刷方向*/
            printSetup.setLandscape(true);//trueが横向き
            /*拡大縮小設定*/
            printSetup.setScale((short)70);//倍率70%
            /*白黒設定*/
            printSetup.setNoColor(true);//trueが白黒
            /*シートの印刷枚数*/
            printSetup.setFitHeight((short)2);//縦2枚
            printSetup.setFitWidth((short)3);//横2枚

            book.write(outstream);
        } catch (Exception err) {
            err.printStackTrace();
        }
    }

今回使ったのはこのあたり

 

シートのクローンを作った場合、元のシートの印刷設定が引き継がれない現象が発生したりとまだまだ分からないことが多い。。。