<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>ReoGrid Web Articles</title>
    <link>https://web.reogrid.net/articles</link>
    <atom:link href="https://web.reogrid.net/articles/rss.xml" rel="self" type="application/rss+xml" />
    <description>Articles on building Excel-like spreadsheets in React and Vue.</description>
    <language>en</language>
    <item>
      <title>VLOOKUP, XLOOKUP and SUMIFS in a JavaScript spreadsheet</title>
      <link>https://web.reogrid.net/articles/vlookup-sumifs-javascript-spreadsheet</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/vlookup-sumifs-javascript-spreadsheet</guid>
      <description>An order sheet that prices and totals itself: pull unit prices out of a product master with VLOOKUP and XLOOKUP, handle the codes that aren&apos;t there, then roll the lines up by category with SUMIF, SUMIFS and COUNTIFS — including the criteria syntax and the two lookup functions ReoGrid Web does not have.</description>
      <pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate>
      <category>formula</category>
      <category>vlookup</category>
      <category>xlookup</category>
      <category>sumifs</category>
      <category>javascript</category>
      <category>spreadsheet</category>
    </item>
    <item>
      <title>Wareki Dates and ▲ Negatives — Excel Number Format Codes in a JavaScript Spreadsheet</title>
      <link>https://web.reogrid.net/articles/japanese-era-dates-in-javascript-spreadsheet</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/japanese-era-dates-in-javascript-spreadsheet</guid>
      <description>Japanese government and finance forms don&apos;t accept 令和1年 — they want 令和元年. Here&apos;s how Excel&apos;s number format codes work in ReoGrid Web: era tokens g/gg/ggg and e/ee, the [$-ja-JP-x-gannen] locale tag, bracket colors in English and Japanese, conditional sections, and the ▲ negative convention accounting departments expect.</description>
      <pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate>
      <category>number-format</category>
      <category>japanese</category>
      <category>wareki</category>
      <category>date</category>
      <category>localization</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Generate PDF Invoices in the Browser — One Template, Any Data, No Server</title>
      <link>https://web.reogrid.net/articles/generate-pdf-invoices-in-the-browser</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/generate-pdf-invoices-in-the-browser</guid>
      <description>A PDF invoice pipeline that never leaves the browser: design the form once with {{token}} cells, bind a plain data object so the detail band repeats per line item, then export a real vector PDF with saveAsPdf. Page breaks, headers, footers, per-row formulas, and a batch loop that turns one template into a hundred documents.</description>
      <pubDate>Mon, 31 Aug 2026 00:00:00 GMT</pubDate>
      <category>report-binding</category>
      <category>pdf</category>
      <category>invoice</category>
      <category>template</category>
      <category>printing</category>
      <category>javascript</category>
    </item>
    <item>
      <title>ReoGrid Web v1.5 — find &amp; replace, drag-to-move, page header/footer, and PDFs that render Chinese</title>
      <link>https://web.reogrid.net/articles/introducing-reogrid-web-v1-5</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/introducing-reogrid-web-v1-5</guid>
      <description>ReoGrid Web v1.5 fills in the everyday gestures: Excel-style find &amp; replace on Ctrl/Cmd+F, drag-to-move for ranges, rows and columns, page header/footer with Excel&apos;s own format codes, and PDF export that embeds the right CJK font when you name a locale. No breaking API changes.</description>
      <pubDate>Sat, 08 Aug 2026 00:00:00 GMT</pubDate>
      <category>release</category>
      <category>v1.5</category>
      <category>find-replace</category>
      <category>pdf</category>
      <category>printing</category>
      <category>spreadsheet</category>
    </item>
    <item>
      <title>Pivot Tables in a JavaScript Spreadsheet — Live Cross-Tab Summaries in a Few Lines</title>
      <link>https://web.reogrid.net/articles/pivot-table-javascript-spreadsheet</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/pivot-table-javascript-spreadsheet</guid>
      <description>Turn a few hundred rows of raw records into a cross-tab summary that recomputes as the data changes. One createPivot call declares rows, columns, and aggregations; the handle&apos;s update / refresh / remove drive it from code. A full worked example with region × product sales, plus filters, grand totals, and the Lite-vs-Pro line.</description>
      <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
      <category>pivot-table</category>
      <category>aggregation</category>
      <category>data-analysis</category>
      <category>data-table</category>
      <category>spreadsheet</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Sort &amp; Filter a JavaScript Spreadsheet — Excel-Style AutoFilter, by Click and in Code</title>
      <link>https://web.reogrid.net/articles/sort-filter-javascript-spreadsheet</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/sort-filter-javascript-spreadsheet</guid>
      <description>Add Excel-style column sorting and header-dropdown filters to a data table in the browser. One createAutoFilter call gives users the dropdowns; getColumnValues / setColumnFilter drive the same filters from code. A full worked example with a live visible-row counter, plus the sort-vs-filter and Lite-vs-Pro details.</description>
      <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
      <category>sort</category>
      <category>filter</category>
      <category>auto-filter</category>
      <category>data-table</category>
      <category>spreadsheet</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Stop Bad Data at the Cell — Data Validation in a JavaScript Spreadsheet</title>
      <link>https://web.reogrid.net/articles/data-validation-javascript-spreadsheet</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/data-validation-javascript-spreadsheet</guid>
      <description>Dropdown lists, numeric and date bounds, custom formula checks — reject invalid input the moment it&apos;s typed, with zero form-validation code. A full order-entry example using ReoGrid Web&apos;s Excel-style data validation, including input prompts, error alerts, and xlsx round-trip.</description>
      <pubDate>Tue, 07 Jul 2026 00:00:00 GMT</pubDate>
      <category>data-validation</category>
      <category>spreadsheet</category>
      <category>forms</category>
      <category>data-entry</category>
      <category>javascript</category>
      <category>ui</category>
    </item>
    <item>
      <title>ReoGrid Web v1.4 — page layout, print-perfect PDF export, and Excel-grade data features</title>
      <link>https://web.reogrid.net/articles/introducing-reogrid-web-v1-4</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/introducing-reogrid-web-v1-4</guid>
      <description>ReoGrid Web v1.4 turns the grid into a document tool: Excel-style page layout with a page-break preview and PDF export powered by our own in-house engine that paginates exactly like the preview — plus pivot tables, table styles, data validation, report binding, cell comments, and named ranges. No breaking API changes.</description>
      <pubDate>Wed, 01 Jul 2026 00:00:00 GMT</pubDate>
      <category>release</category>
      <category>v1.4</category>
      <category>pdf</category>
      <category>pivot</category>
      <category>printing</category>
      <category>spreadsheet</category>
    </item>
    <item>
      <title>Batch-process spreadsheet data with AI: xlsx → JSON → LLM</title>
      <link>https://web.reogrid.net/articles/ai-batch-process-spreadsheet-data</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/ai-batch-process-spreadsheet-data</guid>
      <description>A practical pipeline for running an LLM over a whole spreadsheet: convert xlsx to JSON in the browser, send rows to Claude for classification or cleanup, and write the results back into the grid — with the Batch API for scale.</description>
      <pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate>
      <category>ai</category>
      <category>llm</category>
      <category>xlsx</category>
      <category>json</category>
      <category>automation</category>
      <category>claude</category>
    </item>
    <item>
      <title>From Excel to your app: extract structured data from xlsx as JSON</title>
      <link>https://web.reogrid.net/articles/extract-excel-data-as-json</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/extract-excel-data-as-json</guid>
      <description>A practical pattern for turning user-uploaded Excel files into clean JSON your app can use — header detection, type coercion, multiple sheets, and posting straight to an API or database.</description>
      <pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate>
      <category>excel</category>
      <category>xlsx</category>
      <category>json</category>
      <category>data</category>
      <category>integration</category>
    </item>
    <item>
      <title>Convert XLSX to JSON in the browser — no server, no upload</title>
      <link>https://web.reogrid.net/articles/xlsx-to-json-in-the-browser</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/xlsx-to-json-in-the-browser</guid>
      <description>Turn an .xlsx file into JSON entirely client-side: lossless ReoGrid JSON for round-tripping, or plain data rows for your app. Practical code, files never leave the browser.</description>
      <pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate>
      <category>excel</category>
      <category>xlsx</category>
      <category>json</category>
      <category>javascript</category>
      <category>import</category>
    </item>
    <item>
      <title>Traffic-Light Dashboards in a JavaScript Spreadsheet — Conditional Formatting by Example</title>
      <link>https://web.reogrid.net/articles/conditional-formatting-javascript-spreadsheet</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/conditional-formatting-javascript-spreadsheet</guid>
      <description>Color-code a spreadsheet by its values — red stock warnings, green over-target sales, status-tinted rows — without writing a single styling loop. A full worked example using ReoGrid Web&apos;s three conditional-formatting rule types, with live re-evaluation as data changes.</description>
      <pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate>
      <category>conditional-formatting</category>
      <category>spreadsheet</category>
      <category>dashboard</category>
      <category>cell-styles</category>
      <category>javascript</category>
      <category>ui</category>
    </item>
    <item>
      <title>Build a multi-branch sales summary with cross-sheet formulas</title>
      <link>https://web.reogrid.net/articles/cross-sheet-formulas-sales-summary</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/cross-sheet-formulas-sales-summary</guid>
      <description>A hands-on multi-sheet tutorial for ReoGrid Web 1.3: build three branch sheets, then a Summary sheet that consolidates them entirely with cross-sheet formulas like =&apos;Tokyo&apos;!E6 and =SUM(Osaka!B2:B5). Edit any branch number and the summary recalculates across sheets.</description>
      <pubDate>Wed, 17 Jun 2026 00:00:00 GMT</pubDate>
      <category>tutorial</category>
      <category>multi-sheet</category>
      <category>formula</category>
      <category>workbook</category>
      <category>spreadsheet</category>
    </item>
    <item>
      <title>ReoGrid Web v1.3 — multi-sheet workbooks and cross-sheet formulas</title>
      <link>https://web.reogrid.net/articles/introducing-reogrid-web-v1-3</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/introducing-reogrid-web-v1-3</guid>
      <description>ReoGrid Web v1.3 turns the grid into a workbook of N worksheets — a core-provided sheet tab bar, per-sheet undo, whole-workbook xlsx/JSON I/O, and cross-sheet formula references like =Sheet1!A1. No breaking API changes.</description>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
      <category>release</category>
      <category>v1.3</category>
      <category>multi-sheet</category>
      <category>workbook</category>
      <category>spreadsheet</category>
    </item>
    <item>
      <title>Checkboxes, Dropdowns, and Progress Bars in Cells — Building a Live Attendance Sheet with Cell Types</title>
      <link>https://web.reogrid.net/articles/cell-types-checkbox-dropdown-progress</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/cell-types-checkbox-dropdown-progress</guid>
      <description>Bring the interactive parts of an Excel business sheet — checkboxes, pick lists, progress bars — to the web without rebuilding them as HTML forms. A full worked example: a weekly attendance sheet using ReoGrid Web&apos;s 8 built-in cell types.</description>
      <pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate>
      <category>cell-types</category>
      <category>checkbox</category>
      <category>dropdown</category>
      <category>spreadsheet</category>
      <category>attendance</category>
      <category>ui</category>
    </item>
    <item>
      <title>One million rows in a browser spreadsheet — without loading one million rows</title>
      <link>https://web.reogrid.net/articles/million-rows-spreadsheet-lazy-loading</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/million-rows-spreadsheet-lazy-loading</guid>
      <description>Three weeks ago we wrote that a million rows was out of scope for ReoGrid Web. We changed our mind. Here&apos;s the delay-load data source: a scrollbar that represents 1,000,000 rows while the grid holds only the few hundred you can actually see.</description>
      <pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate>
      <category>performance</category>
      <category>big-data</category>
      <category>lazy-loading</category>
      <category>spreadsheet</category>
      <category>javascript</category>
    </item>
    <item>
      <title>When Excel is your layout tool: move merged-cell forms to the web without rebuilding them</title>
      <link>https://web.reogrid.net/articles/excel-layout-forms-to-web</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/excel-layout-forms-to-web</guid>
      <description>A lot of business &apos;spreadsheets&apos; are really forms — merged cells, borders, fixed column widths, embedded formulas. Two practical ways to bring them to the web with ReoGrid Web: load the existing .xlsx as-is, or rebuild it in code. With working examples.</description>
      <pubDate>Thu, 04 Jun 2026 00:00:00 GMT</pubDate>
      <category>excel</category>
      <category>xlsx</category>
      <category>forms</category>
      <category>invoice</category>
      <category>spreadsheet</category>
      <category>merged-cells</category>
    </item>
    <item>
      <title>Using ReoGrid in Angular — an Excel-like spreadsheet, no wrapper needed</title>
      <link>https://web.reogrid.net/articles/angular-spreadsheet-grid</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/angular-spreadsheet-grid</guid>
      <description>ReoGrid Web ships React and Vue wrappers, but the core is framework-agnostic. Here&apos;s how to drop a canvas-based, Excel-like spreadsheet into an Angular app in about 30 lines — with editing, formulas, and xlsx import.</description>
      <pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate>
      <category>angular</category>
      <category>spreadsheet</category>
      <category>data-grid</category>
      <category>excel</category>
      <category>typescript</category>
    </item>
    <item>
      <title>Reading and writing Excel files in JavaScript — import, export, and JSON</title>
      <link>https://web.reogrid.net/articles/excel-import-export-javascript</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/excel-import-export-javascript</guid>
      <description>How to load .xlsx files into the browser, export a grid back to Excel, and convert between xlsx and JSON — all client-side, with styles and formats preserved. Practical code with ReoGrid Web.</description>
      <pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate>
      <category>excel</category>
      <category>xlsx</category>
      <category>import</category>
      <category>export</category>
      <category>json</category>
      <category>javascript</category>
    </item>
    <item>
      <title>From ReoGrid .NET to ReoGrid Web — bringing your spreadsheet to the browser</title>
      <link>https://web.reogrid.net/articles/reogrid-dotnet-to-web</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/reogrid-dotnet-to-web</guid>
      <description>If you&apos;ve used ReoGrid in WinForms or WPF, the Web edition will feel familiar: same Excel-like model, same xlsx fidelity, now in React, Vue, and vanilla JS. Here&apos;s what carries over, what changes, and how to bridge the two.</description>
      <pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate>
      <category>dotnet</category>
      <category>winforms</category>
      <category>wpf</category>
      <category>migration</category>
      <category>spreadsheet</category>
      <category>web</category>
    </item>
    <item>
      <title>ReoGrid Web vs Luckysheet vs x-spreadsheet — choosing a JavaScript spreadsheet</title>
      <link>https://web.reogrid.net/articles/reogrid-vs-luckysheet-x-spreadsheet</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/reogrid-vs-luckysheet-x-spreadsheet</guid>
      <description>A practical comparison of three canvas/spreadsheet-style JS libraries — Luckysheet, x-spreadsheet, and ReoGrid Web — covering rendering, xlsx fidelity, maintenance, licensing, and which one fits your project.</description>
      <pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate>
      <category>comparison</category>
      <category>luckysheet</category>
      <category>x-spreadsheet</category>
      <category>spreadsheet</category>
      <category>open-source</category>
      <category>canvas</category>
    </item>
    <item>
      <title>Build an online XLSX viewer in React — files never leave the browser</title>
      <link>https://web.reogrid.net/articles/online-xlsx-viewer-react</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/online-xlsx-viewer-react</guid>
      <description>Most &apos;XLSX viewer online&apos; tools upload your spreadsheet to a server you don&apos;t control. Here is a complete React component that opens .xlsx files entirely in the browser — read-only, with styles, merges, and formulas preserved. No upload, no backend, no account.</description>
      <pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate>
      <category>xlsx</category>
      <category>excel</category>
      <category>react</category>
      <category>viewer</category>
      <category>file-api</category>
    </item>
    <item>
      <title>Building a Vue invoice with editable formulas in ~60 lines</title>
      <link>https://web.reogrid.net/articles/vue-invoice-with-editable-formulas</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/vue-invoice-with-editable-formulas</guid>
      <description>A real Vue 3 invoice component: editable quantities and unit prices, automatic line subtotals via formulas, SUM, tax, total — all in a single canvas-backed spreadsheet. The math updates live, and a computed ref mirrors the grand total into your Vue UI. Export to xlsx in one call (Pro).</description>
      <pubDate>Fri, 29 May 2026 00:00:00 GMT</pubDate>
      <category>vue</category>
      <category>tutorial</category>
      <category>formula</category>
      <category>invoice</category>
      <category>spreadsheet</category>
    </item>
    <item>
      <title>Excel-like business forms on the web — you don&apos;t need Excel to build them</title>
      <link>https://web.reogrid.net/articles/excel-like-forms-on-the-web</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/excel-like-forms-on-the-web</guid>
      <description>Most developers don&apos;t realise the browser can load, display, and edit real Excel files without a server — and that the same spreadsheet component can build invoice-quality forms from scratch, or blend both. Here&apos;s how ReoGrid Web makes it possible.</description>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
      <category>tutorial</category>
      <category>invoice</category>
      <category>spreadsheet</category>
      <category>excel</category>
    </item>
    <item>
      <title>ReoGrid Web vs AG Grid vs Handsontable — picking the right grid</title>
      <link>https://web.reogrid.net/articles/reogrid-web-vs-ag-grid-handsontable</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/reogrid-web-vs-ag-grid-handsontable</guid>
      <description>An honest comparison of the three main JavaScript grid libraries from the ReoGrid team&apos;s perspective: where each one fits, what their tradeoffs are, and how to decide which one your project actually needs.</description>
      <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
      <category>comparison</category>
      <category>ag-grid</category>
      <category>handsontable</category>
      <category>spreadsheet</category>
      <category>data-grid</category>
      <category>react</category>
      <category>vue</category>
    </item>
    <item>
      <title>Building a React invoice with editable formulas in ~60 lines</title>
      <link>https://web.reogrid.net/articles/react-invoice-with-editable-formulas</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/react-invoice-with-editable-formulas</guid>
      <description>A real React invoice component: editable quantities and unit prices, automatic line subtotals via formulas, SUM, tax, total — all in a single canvas-backed spreadsheet. The math updates in real time. Users can export to xlsx (Pro).</description>
      <pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate>
      <category>react</category>
      <category>tutorial</category>
      <category>formula</category>
      <category>invoice</category>
      <category>spreadsheet</category>
    </item>
    <item>
      <title>Importing real Excel files in the browser — no upload, no server</title>
      <link>https://web.reogrid.net/articles/load-xlsx-in-browser-no-server</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/load-xlsx-in-browser-no-server</guid>
      <description>Drag an .xlsx file onto a web page, render it in a spreadsheet UI with cell styles, merges, borders, freeze panes, and formulas preserved. No backend, no SheetJS, no progress modals — and it loads a 440k-cell file in 3.7 seconds.</description>
      <pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate>
      <category>xlsx</category>
      <category>excel</category>
      <category>react</category>
      <category>vue</category>
      <category>file-api</category>
      <category>performance</category>
    </item>
    <item>
      <title>Rendering 10,000 rows in the browser — how ReoGrid Web stays at 60fps</title>
      <link>https://web.reogrid.net/articles/canvas-spreadsheet-10000-rows-60fps</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/canvas-spreadsheet-10000-rows-60fps</guid>
      <description>A canvas-based spreadsheet doesn&apos;t have a DOM bottleneck, but it can still die a thousand cuts in the 2D context. Here&apos;s how ReoGrid Web renders a dense 10,000-row sheet without per-row React reconciliation, virtualization gymnastics, or jank.</description>
      <pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate>
      <category>performance</category>
      <category>canvas</category>
      <category>react</category>
      <category>vue</category>
      <category>spreadsheet</category>
    </item>
    <item>
      <title>Introducing ReoGrid Web v1.2 — an Excel-grade spreadsheet for React and Vue</title>
      <link>https://web.reogrid.net/articles/introducing-reogrid-web-v1-2</link>
      <guid isPermaLink="true">https://web.reogrid.net/articles/introducing-reogrid-web-v1-2</guid>
      <description>ReoGrid Web v1.2 ships 109 built-in formulas, Excel-style color-coded reference editing, an auto-fill handle, and ~70% fewer canvas calls per scroll frame — in a single ~100 KB (min+gzip) package with first-class React and Vue wrappers.</description>
      <pubDate>Thu, 14 May 2026 00:00:00 GMT</pubDate>
      <category>release</category>
      <category>v1.2</category>
      <category>react</category>
      <category>vue</category>
      <category>spreadsheet</category>
    </item>
  </channel>
</rss>