ReoGrid ReoGrid Web

数値フォーマット

ReoGrid Web は Excel 互換の数値フォーマットコードをサポートしています。 フォーマットコードは、セルの格納値を変えずに表示形式を制御します。

Live Demo

フォーマットの適用

セルまたは範囲に setFormat() を使うか、format プロパティに直接代入します。

// 単一セル
worksheet.cell('B2').setValue('4999').setFormat('$#,##0.00')

// 範囲
worksheet.range('B2:B10').setFormat(NumberFormat.currency('$', 2))

// プロパティ代入
worksheet.cell('C3').format = '0.00%'

// フォーマットのクリア
worksheet.cell('B2').format = undefined

NumberFormat ヘルパー

NumberFormat ユーティリティは一般的なケースのフォーマットコードを生成します。 createReogrid と一緒にインポートします:

import { createReogrid, NumberFormat } from '@reogrid/lite'

NumberFormat.number(decimals?, grouping?)

NumberFormat.number()          // '#,##0'       → 1,234,567
NumberFormat.number(2)         // '#,##0.00'    → 1,234,567.89
NumberFormat.number(2, false)  // '0.00'        → 1234567.89
パラメータデフォルト説明
decimalsnumber0小数点以下の桁数
groupingbooleantrue桁区切りの追加

NumberFormat.percent(decimals?)

NumberFormat.percent()   // '0%'     → 43%
NumberFormat.percent(2)  // '0.00%'  → 42.75%

セルの値は小数(例: '0.4275'42.75%)で格納します。

NumberFormat.currency(symbol, decimals?, position?)

NumberFormat.currency('$', 2)            // '$#,##0.00'  → $4,999.00
NumberFormat.currency('€', 2)            // '€#,##0.00'  → €4,999.00
NumberFormat.currency('¥', 0)            // '¥#,##0'     → ¥4,999
NumberFormat.currency('円', 0, 'suffix') // '#,##0円'    → 4,999円
パラメータデフォルト説明
symbolstring通貨記号
decimalsnumber0小数点以下の桁数
position'prefix' | 'suffix''prefix'記号の配置

NumberFormat.date(pattern?)

NumberFormat.date()               // 'yyyy-mm-dd'   → 2025-03-17
NumberFormat.date('MM/dd/yyyy')   // 'MM/dd/yyyy'   → 03/17/2025
NumberFormat.date('d MMM yyyy')   // 'd MMM yyyy'   → 17 Mar 2025

セルの値は Excel シリアル日付(1900-01-01 からの日数)である必要があります。 xlsx ファイルを読み込む場合、日付セルにはシリアル値とフォーマットコードが既に含まれているため、追加の作業は不要です。

NumberFormat.time(pattern?)

NumberFormat.time()               // 'HH:mm:ss'     → 18:00:00
NumberFormat.time('h:mm AM/PM')   // 'h:mm AM/PM'   → 6:00 PM

セルの値は1日の小数部分(例: '0.75' = 18:00)である必要があります。


低レベル API

// フォーマット設定
ws.setCellNumberFormat(row, column, '#,##0.00');

// フォーマット取得
const fmt = ws.getCellNumberFormat(row, column);

// フォーマットクリア
ws.clearCellNumberFormat(row, column);

生のフォーマットコードの使用

Excel 互換のフォーマットコード文字列を直接渡すこともできます:

worksheet.cell('A1').setFormat('#,##0.0')       // 小数1桁、桁区切りあり
worksheet.cell('A2').setFormat('0.000%')         // パーセント、小数3桁
worksheet.cell('A3').setFormat('"€"#,##0.00')   // 引用符付き記号
worksheet.cell('A4').setFormat('[Red]0.00')      // カラー修飾子

フォーマットコードリファレンス

パターントークン意味
0数字、不在時はゼロを表示
#数字、前後のゼロを抑制
,桁区切り(#/0 の間にある場合)
.小数点
%100倍して % を付加
"text"リテラルテキスト
d / dd日(1〜31 / 01〜31)
m / mm / mmm / mmmm月(数値 / 2桁 / 略称 / 全名)
yy / yyyy年(2桁 / 4桁)
h / hh時(12時間制 / 先頭ゼロ付き24時間制)
mmh の後)
ss
AM/PM12時間制表示