[{"data":1,"prerenderedAt":967},["ShallowReactive",2],{"blog-ja-reogrid-web-1-3-release":3},{"id":4,"title":5,"author":6,"body":7,"date":950,"description":951,"extension":952,"meta":953,"navigation":106,"path":954,"seo":955,"stem":958,"tags":959,"thumbnail":965,"__hash__":966},"blog/blog/reogrid-web-1-3-release.md","ReoGrid Web 1.3 リリース — マルチシートワークブックとクロスシート数式に対応",null,{"type":8,"value":9,"toc":942},"minimark",[10,31,36,43,55,58,62,69,229,232,321,344,354,356,359,362,461,468,492,499,501,504,514,617,640,642,646,653,718,741,744,851,861,863,866,877,880,898,901,938],[11,12,13,14,18,19,22,23,26,27,30],"p",{},"UNVELL株式会社は、Webアプリ向けExcelライクスプレッドシートライブラリ ",[15,16,17],"strong",{},"ReoGrid Web"," の最新版 ",[15,20,21],{},"1.3"," をリリースしました。3月の正式リリース以降でもっとも構造的な目玉リリースです。",[15,24,25],{},"1枚のグリッドが、複数のワークシートを束ねる「ワークブック」へ進化","しました。公開APIに破壊的変更はなく、マルチシート機能は ",[15,28,29],{},"Lite／Pro 両エディション","でご利用いただけます。",[32,33,35],"h2",{"id":34},"_13-のハイライト","1.3 のハイライト",[11,37,38,39,42],{},"これまでの ReoGrid Web は「1インスタンス＝1シート」でした。1.3 では、各インスタンスが複数のワークシートを束ねる ",[15,40,41],{},"ワークブックコーディネーター"," を公開します。Excelと同じく下部にシートタブバーが表示され、各シートが独自のデータ・選択・固定・Undo履歴を保持します。",[11,44,45,46,49,50,54],{},"そして、複数シートを実際に役立たせる肝となる機能 ── ",[15,47,48],{},"数式が他シートのセルを参照できる","（",[51,52,53],"code",{},"=Sheet1!A1","）ようになりました。",[56,57],"hr",{},[32,59,61],{"id":60},"グリッドがワークブックになった","グリッドが「ワークブック」になった",[11,63,64,65,68],{},"すべてのインスタンスが ",[51,66,67],{},"workbook"," コーディネーターを公開します。最初のシートは自動生成され、追加は1行で済みます。",[70,71,76],"pre",{"className":72,"code":73,"language":74,"meta":75,"style":75},"language-ts shiki shiki-themes github-light github-dark","import { createReogrid } from '@reogrid/lite';\n\nconst grid = createReogrid({ workspace: '#app', initialSheetName: 'Sales' });\n\nconst expenses = grid.workbook.addSheet('Expenses').worksheet;\nconst summary  = grid.workbook.addSheet('Summary').worksheet;\n\ngrid.worksheet.cell('A1').setValue('Q1'); // grid.worksheet は常にアクティブシート\n","ts","",[51,77,78,101,108,140,145,170,192,197],{"__ignoreMap":75},[79,80,83,87,91,94,98],"span",{"class":81,"line":82},"line",1,[79,84,86],{"class":85},"szBVR","import",[79,88,90],{"class":89},"sVt8B"," { createReogrid } ",[79,92,93],{"class":85},"from",[79,95,97],{"class":96},"sZZnC"," '@reogrid/lite'",[79,99,100],{"class":89},";\n",[79,102,104],{"class":81,"line":103},2,[79,105,107],{"emptyLinePlaceholder":106},true,"\n",[79,109,111,114,118,121,125,128,131,134,137],{"class":81,"line":110},3,[79,112,113],{"class":85},"const",[79,115,117],{"class":116},"sj4cs"," grid",[79,119,120],{"class":85}," =",[79,122,124],{"class":123},"sScJk"," createReogrid",[79,126,127],{"class":89},"({ workspace: ",[79,129,130],{"class":96},"'#app'",[79,132,133],{"class":89},", initialSheetName: ",[79,135,136],{"class":96},"'Sales'",[79,138,139],{"class":89}," });\n",[79,141,143],{"class":81,"line":142},4,[79,144,107],{"emptyLinePlaceholder":106},[79,146,148,150,153,155,158,161,164,167],{"class":81,"line":147},5,[79,149,113],{"class":85},[79,151,152],{"class":116}," expenses",[79,154,120],{"class":85},[79,156,157],{"class":89}," grid.workbook.",[79,159,160],{"class":123},"addSheet",[79,162,163],{"class":89},"(",[79,165,166],{"class":96},"'Expenses'",[79,168,169],{"class":89},").worksheet;\n",[79,171,173,175,178,181,183,185,187,190],{"class":81,"line":172},6,[79,174,113],{"class":85},[79,176,177],{"class":116}," summary",[79,179,180],{"class":85},"  =",[79,182,157],{"class":89},[79,184,160],{"class":123},[79,186,163],{"class":89},[79,188,189],{"class":96},"'Summary'",[79,191,169],{"class":89},[79,193,195],{"class":81,"line":194},7,[79,196,107],{"emptyLinePlaceholder":106},[79,198,200,203,206,208,211,214,217,219,222,225],{"class":81,"line":199},8,[79,201,202],{"class":89},"grid.worksheet.",[79,204,205],{"class":123},"cell",[79,207,163],{"class":89},[79,209,210],{"class":96},"'A1'",[79,212,213],{"class":89},").",[79,215,216],{"class":123},"setValue",[79,218,163],{"class":89},[79,220,221],{"class":96},"'Q1'",[79,223,224],{"class":89},"); ",[79,226,228],{"class":227},"sJ8bj","// grid.worksheet は常にアクティブシート\n",[11,230,231],{},"下部のタブバーは、追加・名前変更・ドラッグ並べ替え・表示／非表示・タブ色に対応します。同じ操作はプログラムからも実行できます。",[70,233,235],{"className":72,"code":234,"language":74,"meta":75,"style":75},"const wb = grid.workbook;\nwb.renameSheet(0, 'FY26 Sales');\nwb.moveSheet(2, 0);\nwb.setSheetTabColor(0, '#2563eb');\nwb.setActiveSheet(1);\n",[51,236,237,249,271,289,307],{"__ignoreMap":75},[79,238,239,241,244,246],{"class":81,"line":82},[79,240,113],{"class":85},[79,242,243],{"class":116}," wb",[79,245,120],{"class":85},[79,247,248],{"class":89}," grid.workbook;\n",[79,250,251,254,257,259,262,265,268],{"class":81,"line":103},[79,252,253],{"class":89},"wb.",[79,255,256],{"class":123},"renameSheet",[79,258,163],{"class":89},[79,260,261],{"class":116},"0",[79,263,264],{"class":89},", ",[79,266,267],{"class":96},"'FY26 Sales'",[79,269,270],{"class":89},");\n",[79,272,273,275,278,280,283,285,287],{"class":81,"line":110},[79,274,253],{"class":89},[79,276,277],{"class":123},"moveSheet",[79,279,163],{"class":89},[79,281,282],{"class":116},"2",[79,284,264],{"class":89},[79,286,261],{"class":116},[79,288,270],{"class":89},[79,290,291,293,296,298,300,302,305],{"class":81,"line":142},[79,292,253],{"class":89},[79,294,295],{"class":123},"setSheetTabColor",[79,297,163],{"class":89},[79,299,261],{"class":116},[79,301,264],{"class":89},[79,303,304],{"class":96},"'#2563eb'",[79,306,270],{"class":89},[79,308,309,311,314,316,319],{"class":81,"line":147},[79,310,253],{"class":89},[79,312,313],{"class":123},"setActiveSheet",[79,315,163],{"class":89},[79,317,318],{"class":116},"1",[79,320,270],{"class":89},[11,322,323,324,327,328,331,332,335,336,339,340,343],{},"各シートは ",[15,325,326],{},"独自のUndo履歴"," を持ち、",[51,329,330],{},"Cmd/Ctrl+Z"," がシートをまたぐことはありません。",[51,333,334],{},"grid.worksheet"," と ",[51,337,338],{},"grid.actionManager"," はアクティブシートに追従するゲッターになったため、",[15,341,342],{},"既存のシングルシートコードはそのまま動作します","。",[345,346,347],"blockquote",{},[11,348,349,350,353],{},"シングルシート埋め込みでの見た目の変化が1点あります。デフォルトで高さ約28pxのシートタブバーが表示されます。非表示にするには ",[51,351,352],{},"createReogrid({ showSheetTabs: false })"," を渡してください。",[56,355],{},[32,357,358],{"id":358},"クロスシート数式参照",[11,360,361],{},"これがワークブックを「グリッドの寄せ集め」以上にする機能です。あるシートの数式が、別のシートのセルを読み取れます。",[70,363,365],{"className":72,"code":364,"language":74,"meta":75,"style":75},"summary.cell('B2').value = \"='Tokyo'!E6\";        // 他シートの単一セル\nsummary.cell('B3').value = '=SUM(Osaka!B2:B5)';  // クロスシート範囲の集計\nsummary.cell('B4').value = '=VLOOKUP(A4, Master!A1:C100, 3)';\nsummary.cell('B5').value = '=シート1!A1';        // 非ASCII名は引用符不要\n",[51,366,367,394,418,438],{"__ignoreMap":75},[79,368,369,372,374,376,379,382,385,388,391],{"class":81,"line":82},[79,370,371],{"class":89},"summary.",[79,373,205],{"class":123},[79,375,163],{"class":89},[79,377,378],{"class":96},"'B2'",[79,380,381],{"class":89},").value ",[79,383,384],{"class":85},"=",[79,386,387],{"class":96}," \"='Tokyo'!E6\"",[79,389,390],{"class":89},";        ",[79,392,393],{"class":227},"// 他シートの単一セル\n",[79,395,396,398,400,402,405,407,409,412,415],{"class":81,"line":103},[79,397,371],{"class":89},[79,399,205],{"class":123},[79,401,163],{"class":89},[79,403,404],{"class":96},"'B3'",[79,406,381],{"class":89},[79,408,384],{"class":85},[79,410,411],{"class":96}," '=SUM(Osaka!B2:B5)'",[79,413,414],{"class":89},";  ",[79,416,417],{"class":227},"// クロスシート範囲の集計\n",[79,419,420,422,424,426,429,431,433,436],{"class":81,"line":110},[79,421,371],{"class":89},[79,423,205],{"class":123},[79,425,163],{"class":89},[79,427,428],{"class":96},"'B4'",[79,430,381],{"class":89},[79,432,384],{"class":85},[79,434,435],{"class":96}," '=VLOOKUP(A4, Master!A1:C100, 3)'",[79,437,100],{"class":89},[79,439,440,442,444,446,449,451,453,456,458],{"class":81,"line":142},[79,441,371],{"class":89},[79,443,205],{"class":123},[79,445,163],{"class":89},[79,447,448],{"class":96},"'B5'",[79,450,381],{"class":89},[79,452,384],{"class":85},[79,454,455],{"class":96}," '=シート1!A1'",[79,457,390],{"class":89},[79,459,460],{"class":227},"// 非ASCII名は引用符不要\n",[11,462,463,464,467],{},"参照は ",[15,465,466],{},"大文字小文字を区別せず"," 解決され、ライフサイクルはExcel互換です。",[469,470,471,475,482,485],"ul",{},[472,473,474],"li",{},"シート名を変更すると、全シートの参照式が自動的に書き換わります。",[472,476,477,478,481],{},"シートを削除すると、その参照は ",[51,479,480],{},"#REF!"," になります。",[472,483,484],{},"あるシートで行・列を挿入／削除すると、他シートからの参照がシフトします。",[472,486,487,488,491],{},"クロスシートの循環参照は検出され、",[51,489,490],{},"#CYCLE!"," として報告されます。",[11,493,494,495,498],{},"集計関数とLOOKUP系一式がクロスシート範囲に対応するため、サマリーシートを ",[51,496,497],{},"=SUM(Region!...)"," の行だけで構築し、元シートを編集するたびにライブで更新させられます。",[56,500],{},[32,502,503],{"id":503},"ワークブック全体の入出力",[11,505,506,509,510,513],{},[15,507,508],{},"インスタンス","のI/Oメソッドは、",[15,511,512],{},"全シートを一括で","扱うようになりました。",[70,515,517],{"className":72,"code":516,"language":74,"meta":75,"style":75},"// ワークブック全体を1つの .xlsx へエクスポート\ngrid.saveAsXlsx({ filename: 'report.xlsx' });\n\n// File / URL / ArrayBuffer から全シートを読み込み\nawait grid.loadFromFile(file);\nawait grid.loadFromUrl('/data/book.xlsx');\n\n// ワークブック全体の JSON シリアライズ\nconst doc = grid.toJson();\ngrid.loadJson(doc);\n",[51,518,519,524,540,544,549,563,579,583,588,606],{"__ignoreMap":75},[79,520,521],{"class":81,"line":82},[79,522,523],{"class":227},"// ワークブック全体を1つの .xlsx へエクスポート\n",[79,525,526,529,532,535,538],{"class":81,"line":103},[79,527,528],{"class":89},"grid.",[79,530,531],{"class":123},"saveAsXlsx",[79,533,534],{"class":89},"({ filename: ",[79,536,537],{"class":96},"'report.xlsx'",[79,539,139],{"class":89},[79,541,542],{"class":81,"line":110},[79,543,107],{"emptyLinePlaceholder":106},[79,545,546],{"class":81,"line":142},[79,547,548],{"class":227},"// File / URL / ArrayBuffer から全シートを読み込み\n",[79,550,551,554,557,560],{"class":81,"line":147},[79,552,553],{"class":85},"await",[79,555,556],{"class":89}," grid.",[79,558,559],{"class":123},"loadFromFile",[79,561,562],{"class":89},"(file);\n",[79,564,565,567,569,572,574,577],{"class":81,"line":172},[79,566,553],{"class":85},[79,568,556],{"class":89},[79,570,571],{"class":123},"loadFromUrl",[79,573,163],{"class":89},[79,575,576],{"class":96},"'/data/book.xlsx'",[79,578,270],{"class":89},[79,580,581],{"class":81,"line":194},[79,582,107],{"emptyLinePlaceholder":106},[79,584,585],{"class":81,"line":199},[79,586,587],{"class":227},"// ワークブック全体の JSON シリアライズ\n",[79,589,591,593,596,598,600,603],{"class":81,"line":590},9,[79,592,113],{"class":85},[79,594,595],{"class":116}," doc",[79,597,120],{"class":85},[79,599,556],{"class":89},[79,601,602],{"class":123},"toJson",[79,604,605],{"class":89},"();\n",[79,607,609,611,614],{"class":81,"line":608},10,[79,610,528],{"class":89},[79,612,613],{"class":123},"loadJson",[79,615,616],{"class":89},"(doc);\n",[11,618,619,620,623,624,627,628,631,632,635,636,639],{},"ワークブックの ",[15,621,622],{},"ビュー状態は xlsx を往復"," します。アクティブシート（",[51,625,626],{},"\u003CworkbookView activeTab>","）、シートごとの非表示状態（",[51,629,630],{},"\u003Csheet state=\"hidden\">","）、タブ色（",[51,633,634],{},"\u003CsheetPr>\u003CtabColor>","）がエクスポート時に書き出され、読み込み時に復元されます。マルチシート xlsx のインポートも高速化し、ファイルを ",[15,637,638],{},"一度だけ"," パースして全シートで再利用します（従来はシートごとに再パース）。",[56,641],{},[32,643,645],{"id":644},"一度購読すればアクティブシートに追従","一度購読すれば、アクティブシートに追従",[11,647,648,649,652],{},"従来は、選択や値の変更に反応するには、アクティブシートが変わるたびにリスナーを張り替える必要がありました。1.3 では、アクティブシートのイベントを転送し、切り替え時に自動で張り替わる ",[15,650,651],{},"インスタンスレベルイベント"," を追加しました。",[70,654,656],{"className":72,"code":655,"language":74,"meta":75,"style":75},"grid.onSelectionChange((range) => updateInspector(range));\ngrid.onCellValueChange(({ row, column, value }) => autosave(row, column, value));\n",[51,657,658,684],{"__ignoreMap":75},[79,659,660,662,665,668,672,675,678,681],{"class":81,"line":82},[79,661,528],{"class":89},[79,663,664],{"class":123},"onSelectionChange",[79,666,667],{"class":89},"((",[79,669,671],{"class":670},"s4XuR","range",[79,673,674],{"class":89},") ",[79,676,677],{"class":85},"=>",[79,679,680],{"class":123}," updateInspector",[79,682,683],{"class":89},"(range));\n",[79,685,686,688,691,694,697,699,702,704,707,710,712,715],{"class":81,"line":103},[79,687,528],{"class":89},[79,689,690],{"class":123},"onCellValueChange",[79,692,693],{"class":89},"(({ ",[79,695,696],{"class":670},"row",[79,698,264],{"class":89},[79,700,701],{"class":670},"column",[79,703,264],{"class":89},[79,705,706],{"class":670},"value",[79,708,709],{"class":89}," }) ",[79,711,677],{"class":85},[79,713,714],{"class":123}," autosave",[79,716,717],{"class":89},"(row, column, value));\n",[11,719,720,721,723,724,723,726,723,729,723,732,723,735,723,738,343],{},"インスタンスで利用可能なイベント: ",[51,722,664],{},"、",[51,725,690],{},[51,727,728],{},"onBulkCellsChange",[51,730,731],{},"onScrollChange",[51,733,734],{},"onViewportSizeChange",[51,736,737],{},"onStructureChange",[51,739,740],{},"onContextMenu",[11,742,743],{},"React／Vue ラッパーもインスタンス経由でワークブックを公開し、シートイベントを追加しています。",[70,745,749],{"className":746,"code":747,"language":748,"meta":75,"style":75},"language-tsx shiki shiki-themes github-light github-dark","// React\n\u003CReogrid\n  onReady={(grid) => grid.workbook.addSheet('Data')}\n  onActiveSheetChange={(index) => console.log('active', index)}\n  onSheetsChange={() => console.log('sheets changed')}\n/>\n","tsx",[51,750,751,756,764,793,823,846],{"__ignoreMap":75},[79,752,753],{"class":81,"line":82},[79,754,755],{"class":227},"// React\n",[79,757,758,761],{"class":81,"line":103},[79,759,760],{"class":89},"\u003C",[79,762,763],{"class":116},"Reogrid\n",[79,765,766,769,771,774,777,779,781,783,785,787,790],{"class":81,"line":110},[79,767,768],{"class":123},"  onReady",[79,770,384],{"class":85},[79,772,773],{"class":89},"{(",[79,775,776],{"class":670},"grid",[79,778,674],{"class":89},[79,780,677],{"class":85},[79,782,157],{"class":89},[79,784,160],{"class":123},[79,786,163],{"class":89},[79,788,789],{"class":96},"'Data'",[79,791,792],{"class":89},")}\n",[79,794,795,798,800,802,805,807,809,812,815,817,820],{"class":81,"line":142},[79,796,797],{"class":123},"  onActiveSheetChange",[79,799,384],{"class":85},[79,801,773],{"class":89},[79,803,804],{"class":670},"index",[79,806,674],{"class":89},[79,808,677],{"class":85},[79,810,811],{"class":89}," console.",[79,813,814],{"class":123},"log",[79,816,163],{"class":89},[79,818,819],{"class":96},"'active'",[79,821,822],{"class":89},", index)}\n",[79,824,825,828,830,833,835,837,839,841,844],{"class":81,"line":147},[79,826,827],{"class":123},"  onSheetsChange",[79,829,384],{"class":85},[79,831,832],{"class":89},"{() ",[79,834,677],{"class":85},[79,836,811],{"class":89},[79,838,814],{"class":123},[79,840,163],{"class":89},[79,842,843],{"class":96},"'sheets changed'",[79,845,792],{"class":89},[79,847,848],{"class":81,"line":172},[79,849,850],{"class":89},"/>\n",[11,852,853,854,335,857,860],{},"Vue ラッパーは既存イベントに加えて ",[51,855,856],{},"active-sheet-change",[51,858,859],{},"sheets-change"," を発行します。",[56,862],{},[32,864,865],{"id":865},"使い始める",[11,867,868,869,876],{},"体感する最短ルートは ",[870,871,875],"a",{"href":872,"rel":873},"https://web.reogrid.net/jp/demos/multi-sheet/",[874],"nofollow","マルチシートワークブックのデモ"," です。3つの拠点シート（Tokyo・Osaka・Nagoya）と、クロスシート数式だけで構築したサマリーシートを用意しています。どの拠点の数値を編集してサマリーに戻っても、合計がシートをまたいで再計算されます。",[11,878,879],{},"Lite版はライセンスキー不要で、npmからすぐにお試しいただけます。",[70,881,885],{"className":882,"code":883,"language":884,"meta":75,"style":75},"language-bash shiki shiki-themes github-light github-dark","npm install @reogrid/lite\n","bash",[51,886,887],{"__ignoreMap":75},[79,888,889,892,895],{"class":81,"line":82},[79,890,891],{"class":123},"npm",[79,893,894],{"class":96}," install",[79,896,897],{"class":96}," @reogrid/lite\n",[11,899,900],{},"Pro版では109関数の数式ライブラリ、xlsxエクスポート、フルセットのセル種別などが利用可能になります。",[469,902,903,910,917,924,931],{},[472,904,905],{},[870,906,909],{"href":907,"rel":908},"https://web.reogrid.net/jp",[874],"製品サイト（日本語）",[472,911,912],{},[870,913,916],{"href":914,"rel":915},"https://web.reogrid.net/jp/docs/multi-sheet",[874],"マルチシートのドキュメント",[472,918,919],{},[870,920,923],{"href":921,"rel":922},"https://web.reogrid.net/jp/demos",[874],"ライブデモギャラリー",[472,925,926],{},[870,927,930],{"href":928,"rel":929},"https://reogrid.net/jp/info-require",[874],"資料請求・お問い合わせ",[472,932,933],{},[870,934,937],{"href":935,"rel":936},"https://www.npmjs.com/package/@reogrid/lite",[874],"npmパッケージ (@reogrid/lite)",[939,940,941],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":75,"searchDepth":103,"depth":103,"links":943},[944,945,946,947,948,949],{"id":34,"depth":103,"text":35},{"id":60,"depth":103,"text":61},{"id":358,"depth":103,"text":358},{"id":503,"depth":103,"text":503},{"id":644,"depth":103,"text":645},{"id":865,"depth":103,"text":865},"2026-06-17","ReoGrid Web 1.3 をリリースしました。1枚のグリッドが、複数のワークシートを束ねる「ワークブック」へ進化します。標準のシートタブバー、シートごとのUndo履歴、ワークブック全体のxlsx/JSON入出力、そして =Sheet1!A1 のようなクロスシート数式参照に対応。公開APIに破壊的変更はなく、Lite／Pro両エディションでご利用いただけます。","md",{},"/blog/reogrid-web-1-3-release",{"title":956,"description":957},"ReoGrid Web 1.3 リリース — React／Vue向けマルチシートワークブック対応","ReoGrid Web 1.3 の新機能。標準タブバー付きのマルチシートワークブック、シートごとのUndo履歴、ワークブック全体のxlsx/JSON入出力、クロスシート数式参照（=Sheet1!A1）、アクティブシートに追従するインスタンスレベルイベント。公開APIに破壊的変更なし。","blog/reogrid-web-1-3-release",[960,961,962,963,964],"reogrid","reogrid-web","spreadsheet","release","javascript","/images/articles/reogrid-web-1-3.jpg","ZY-TPe-WCAMnlidp2yAcEp9XMEJlQBnxW2A4Ecl0XNU",1781705375025]