ReoGrid ReoGrid Web

印刷

ワークシートをブラウザの印刷機能で印刷する方法を説明します。

印刷機能はPro版で利用可能です。


基本的な使い方

import { printWorksheet } from '@reogrid/lite';

printWorksheet(grid.worksheet);

印刷オプション

printWorksheet(grid.worksheet, {
  pageSize: 'A4',
  orientation: 'landscape',
  margin: '10mm',
  showHeaders: true,
  showGridLines: true,
  title: '売上レポート',
  fitToPage: true,
});

PrintOptions

オプションデフォルト説明
pageSizestring'A4'用紙サイズ
orientation'portrait' | 'landscape''portrait'印刷方向
marginstring'15mm'ページ余白(CSS 値)
showHeadersbooleanfalse行・列ヘッダーを印刷するか
showGridLinesbooleantrueグリッドラインを印刷するか
titlestring---ページ上部に表示するタイトル
fitToPagebooleanfalseページ幅に合わせて縮小

仕組み

printWorksheet() は以下の処理を行います。

  1. ワークシートのデータを HTML テーブルに変換
  2. 新しいウィンドウを開く
  3. HTML テーブルと CSS を挿入
  4. window.print() を呼び出す

セルスタイル(フォント、色、罫線、セル結合など)は HTML/CSS に変換されます。


使用例:React での印刷ボタン

import { useRef } from 'react';
import { Reogrid, printWorksheet } from '@reogrid/lite/react';
import type { ReogridInstance } from '@reogrid/lite/react';

function App() {
  const gridRef = useRef<ReogridInstance>(null);

  function handlePrint() {
    if (gridRef.current) {
      printWorksheet(gridRef.current.worksheet, {
        title: '月次レポート',
        orientation: 'landscape',
      });
    }
  }

  return (
    <>
      <button onClick={handlePrint}>印刷</button>
      <Reogrid ref={gridRef} style={{ flex: 1 }} />
    </>
  );
}

注意事項

  • ブラウザの印刷ダイアログが表示されます。
  • カスタムセルタイプ(プログレスバー、スパークラインなど)は renderHTML() メソッドが実装されている場合のみ印刷に反映されます。