CINXE.COM
Git
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="https://static-production.npmjs.com/styles.4f764514c9d1014452db.css" /> <title data-react-helmet="true">xlsx-populate - npm</title> <meta data-react-helmet="true" http-equiv="cleartype" content="on"/><meta data-react-helmet="true" name="apple-mobile-web-app-capable" content="yes"/><meta data-react-helmet="true" name="mobile-web-app-capable" content="yes"/><meta data-react-helmet="true" name="viewport" content="width=device-width,minimum-scale=1.0,initial-scale=1,user-scalable=yes"/><meta data-react-helmet="true" property="og:image" content="https://static-production.npmjs.com/338e4905a2684ca96e08c7780fc68412.png"/><meta data-react-helmet="true" name="msapplication-TileColor" content="#cb3837"/><meta data-react-helmet="true" name="msapplication-TileImage" content="https://static-production.npmjs.com/7a7ffabbd910fc60161bc04f2cee4160.png"/><meta data-react-helmet="true" name="msapplication-config" content="https://static-production.npmjs.com/668aac888e52ae13cac9cfd71fabd31f.xml"/><meta data-react-helmet="true" name="theme-color" content="#cb3837"/><meta data-react-helmet="true" name="description" content="Excel XLSX parser/generator written in JavaScript with Node.js and browser support, jQuery/d3-style method chaining, and a focus on keeping existing workbook features and styles in tact.. Latest version: 1.21.0, last published: 5 years ago. Start using xlsx-populate in your project by running `npm i xlsx-populate`. There are 126 other projects in the npm registry using xlsx-populate."/><meta data-react-helmet="true" property="og:description" content="Excel XLSX parser/generator written in JavaScript with Node.js and browser support, jQuery/d3-style method chaining, and a focus on keeping existing workbook features and styles in tact.. Latest version: 1.21.0, last published: 5 years ago. Start using xlsx-populate in your project by running `npm i xlsx-populate`. There are 126 other projects in the npm registry using xlsx-populate."/><meta data-react-helmet="true" property="og:title" content="xlsx-populate"/><meta data-react-helmet="true" property="og:url" content="https://www.npmjs.com/package/xlsx-populate"/><meta data-react-helmet="true" property="og:site_name" content="npm"/><meta data-react-helmet="true" name="keywords" content="excel,workbook,xlsx,parse,generate,populate,template,browser,style,formatting,encryption,password"/><meta data-react-helmet="true" name="twitter:card" content="summary"/><meta data-react-helmet="true" name="twitter:url" content="https://www.npmjs.com/package/xlsx-populate"/><meta data-react-helmet="true" name="twitter:title" content="npm: xlsx-populate"/><meta data-react-helmet="true" name="twitter:description" content="Excel XLSX parser/generator written in JavaScript with Node.js and browser support, jQuery/d3-style method chaining, and a focus on keeping existing workbook features and styles in tact.. Latest version: 1.21.0, last published: 5 years ago. Start using xlsx-populate in your project by running `npm i xlsx-populate`. There are 126 other projects in the npm registry using xlsx-populate."/> <link data-react-helmet="true" href="https://static-production.npmjs.com/osd.xml" rel="search" title="npm package search" type="application/opensearchdescription+xml"/><link data-react-helmet="true" rel="apple-touch-icon" sizes="120x120" href="https://static-production.npmjs.com/58a19602036db1daee0d7863c94673a4.png"/><link data-react-helmet="true" rel="apple-touch-icon" sizes="144x144" href="https://static-production.npmjs.com/7a7ffabbd910fc60161bc04f2cee4160.png"/><link data-react-helmet="true" rel="apple-touch-icon" sizes="152x152" href="https://static-production.npmjs.com/34110fd7686e2c90a487ca98e7336e99.png"/><link data-react-helmet="true" rel="apple-touch-icon" sizes="180x180" href="https://static-production.npmjs.com/3dc95981de4241b35cd55fe126ab6b2c.png"/><link data-react-helmet="true" rel="icon" type="image/png" href="https://static-production.npmjs.com/b0f1a8318363185cc2ea6a40ac23eeb2.png" sizes="32x32"/><link data-react-helmet="true" rel="icon" type="image/png" href="https://static-production.npmjs.com/1996fcfdf7ca81ea795f67f093d7f449.png" sizes="230x230"/><link data-react-helmet="true" rel="icon" type="image/png" href="https://static-production.npmjs.com/f1786e9b7cba9753ca7b9c40e8b98f67.png" sizes="96x96"/><link data-react-helmet="true" rel="icon" type="image/png" href="https://static-production.npmjs.com/5f6e93af5bf0f5dcdd1eecdac99f51ee.png" sizes="192x192"/><link data-react-helmet="true" rel="icon" type="image/png" href="https://static-production.npmjs.com/c426a1116301d1fd178c51522484127a.png" sizes="228x228"/><link data-react-helmet="true" rel="icon" type="image/png" href="https://static-production.npmjs.com/da3ab40fb0861d15c83854c29f5f2962.png" sizes="16x16"/> </head> <body> <div id="app"><div class="_452c3ec4 d68c66a8"><div class="cf325dbd list ma0 pa0 tr z-999"><div class="c746cc21 list ma0 pa0 tr z-999"></div></div><div class="flex flex-column vh-100"><header class="_755f5b0f bg-white z-2 bb b--black-20"><div></div><div class="e7070742 pv3-ns ph1-ns bg-white"><div id="header" class="bbefbfcc">skip to:<a aria-label="skip to content" class="d6d0dbcf" href="#main">content</a><a aria-label="skip to package search" class="d6d0dbcf" href="#search">package search</a><a aria-label="skip to sign in" class="d6d0dbcf" href="#signin">sign in</a></div><div class="ef7c6e62 center mw9 border-box ph4-ns ph3 flex items-center"><span class="_0edb515f pr3 dn dib-ns link lh-title dim b--white-30">❤</span><nav class="_4a5f2a79 db w-100 w-auto-ns truncate" aria-label="Product Navigation"><ul id="main-menu" class="list pl0" role="menu" aria-label="Nav Menu"><li role="none" class="dib"><a href="/products/pro" role="menuitem" class="c6c55db4 no-underline f6-ns f7 fw5 dim pr2 pl2" id="nav-pro-link">Pro</a></li><li role="none"><a href="/products/teams" role="menuitem" class="c6c55db4 no-underline f6-ns f7 fw5 dim pr2 pl2" id="nav-teams-link">Teams</a></li><li role="none" class="dib"><a href="/products" role="menuitem" class="c6c55db4 no-underline f6-ns f7 fw5 dim pr2 pl2" id="nav-pricing-link">Pricing</a></li><li role="none" class="dib"><a href="https://docs.npmjs.com" role="menuitem" class="c6c55db4 no-underline f6-ns f7 fw5 dim pr2 pl2" id="nav-docs-link">Documentation</a></li></ul></nav></div></div><div class="_4ea0e50d bt b--black-10"><div class="c5b9953b center mw9 flex flex-wrap ph4-ns border-box"><span class="_657f443d">npm</span><div class="af43375d mt3 db mr4-ns pb3 pb0-ns flex-auto 2-ns ph3 ph0-ns"><a href="/" aria-label="Npm"><svg viewBox="0 0 780 250" aria-hidden="true"><path fill="#231F20" d="M240,250h100v-50h100V0H240V250z M340,50h50v100h-50V50z M480,0v200h100V50h50v150h50V50h50v150h50V0H480z M0,200h100V50h50v150h50V0H0V200z" stroke-width="5" stroke="#f7f7f7"></path></svg></a></div><div id="search" class="_581ebd89 relative flex-auto w-100 w-50-ns pv2-ns order-1-ns order-2"><form id="search" method="GET" action="/search" class="_13c93d41 relative flex bg-transparent ph3 ph2 pv2 ph0-ns pv0-ns bt b--black-10 bn-ns"><div class="e82b10fd relative dde91b96"><div class="_2f299eeb nowrap flex"><span class="_705cdf4f db fl pl3 pr1"><svg width="15px" height="15px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" aria-hidden="true"><g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g stroke="#777777" stroke-width="1.3"><g><path d="M13.4044,7.0274 C13.4044,10.5494 10.5494,13.4044 7.0274,13.4044 C3.5054,13.4044 0.6504,10.5494 0.6504,7.0274 C0.6504,3.5054 3.5054,0.6504 7.0274,0.6504 C10.5494,0.6504 13.4044,3.5054 13.4044,7.0274 Z"></path><path d="M11.4913,11.4913 L17.8683,17.8683"></path></g></g></g></svg></span><input type="search" role="combobox" name="q" hotkeys="[object Object]" placeholder="Search packages" aria-label="Search packages" aria-controls="typeahead-list-27792" aria-expanded="false" aria-activedescendant="" inputref="[object Object]" autoComplete="off" class="_390acbc5 f5 fw3 black relative" value="" element="input"/></div><div aria-live="polite" aria-atomic="true" class="_6f20b8d1"></div></div><button type="submit" class="_0da775bb bn pv2 ph4 f6 white pointer bn pv2 ph4 f6 white pointer" aria-label="Search">Search</button><input type="hidden" name="csrftoken" value="BzNaBNwIpyfFBCG3vqPYrS5wp3bmxGxRTCJB8VqYKYC"/></form></div><div class="_6f31c82b ml3 mt2 mt0-ns pv2-ns flex-auto tr nowrap relative pointer fw6 order-1 order-2-ns"><div class="_1066d9e7 flex items-center self-center pl3"><a href="/signup" id="signup" class="_9752c8b3 pa2 lh-copy br2 f6 no-underline fw5 black dim ph3 mr3">Sign Up</a><a href="/login" id="signin" class="_352269a0 pa1 lh-copy br2 f6 no-underline fw5 black dim">Sign In</a></div></div></div></div></header><main id="main"> <div class="_36ae70e9 flex flex-row flex-wrap pb5 ph3-l mw-100 mt4-ns mt1 center-ns mh1" id="top"><div class="w-100 ph0-l ph3 ph4-m"><h2 class="cd6ce1fd flex flex-row justify-start items-center w-100 fw6 mt3 black dib ma0 tracked-tight no-underline hover-black f3-ns"><span class="_50685029 truncate">xlsx-populate</span></h2><span class="_76473bea f6 dib ph0 pv2 mb2-ns black-80 nowrap f5 fw4 lh-copy">1.21.0<!-- --> • </span><span class="_813b53b2 _76473bea f6 dib ph0 pv2 mb2-ns black-80 nowrap f5 fw4 lh-copy">Public</span><span class="_76473bea f6 dib ph0 pv2 mb2-ns black-80 nowrap f5 fw4 lh-copy"> • Published <time dateTime="2020-03-01T20:36:47.441Z" title="3/1/2020, 8:36:47 PM">5 years ago</time></span></div><ul class="cfb2a888 flex flex-column flex-row-l w-100 ma0 pa0 mr2 mr0-l list" role="tablist" aria-owns="package-tab-readme package-tab-code package-tab-dependencies package-tab-dependents package-tab-versions"><li class="_8055e658 f5 fw5 tc pointer d9f99065 ac5f7ef8 f4 fw6 black-50" role="presentation"><a class="_38ce9a85 link db ph4 fw6" href="?activeTab=readme" aria-selected="true" role="tab" aria-controls="tabpanel-readme" id="package-tab-readme" tabindex="0"><span><svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="file-alt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z"></path></svg> Readme</span></a></li><li class="_8055e658 f5 fw5 tc pointer _7aa1ee94" role="presentation"><a class="_38ce9a85 link db ph4 fw6" href="?activeTab=code" aria-selected="false" role="tab" aria-controls="tabpanel-explore" id="package-tab-code" tabindex="-1"><span><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="file-archive" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zM128.4 336c-17.9 0-32.4 12.1-32.4 27 0 15 14.6 27 32.5 27s32.4-12.1 32.4-27-14.6-27-32.5-27zM224 136V0h-63.6v32h-32V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM95.9 32h32v32h-32zm32.3 384c-33.2 0-58-30.4-51.4-62.9L96.4 256v-32h32v-32h-32v-32h32v-32h-32V96h32V64h32v32h-32v32h32v32h-32v32h32v32h-32v32h22.1c5.7 0 10.7 4.1 11.8 9.7l17.3 87.7c6.4 32.4-18.4 62.6-51.4 62.6z"></path></svg>Code <span class="a17280e0"><span class="Label-sc-6dyj7v-0 kghsgn _22665c13">Beta</span></span></span></a></li><li class="_8055e658 f5 fw5 tc pointer c1f85151" role="presentation"><a class="_38ce9a85 link db ph4 fw6" href="?activeTab=dependencies" aria-selected="false" role="tab" aria-controls="tabpanel-dependencies" id="package-tab-dependencies" tabindex="-1"><span><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="cube" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z"></path></svg>4 Dependencies</span></a></li><li class="_8055e658 f5 fw5 tc pointer _7cec0316" role="presentation"><a class="_38ce9a85 link db ph4 fw6" href="?activeTab=dependents" aria-selected="false" role="tab" aria-controls="tabpanel-dependents" id="package-tab-dependents" tabindex="-1"><span><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="cubes" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M488.6 250.2L392 214V105.5c0-15-9.3-28.4-23.4-33.7l-100-37.5c-8.1-3.1-17.1-3.1-25.3 0l-100 37.5c-14.1 5.3-23.4 18.7-23.4 33.7V214l-96.6 36.2C9.3 255.5 0 268.9 0 283.9V394c0 13.6 7.7 26.1 19.9 32.2l100 50c10.1 5.1 22.1 5.1 32.2 0l103.9-52 103.9 52c10.1 5.1 22.1 5.1 32.2 0l100-50c12.2-6.1 19.9-18.6 19.9-32.2V283.9c0-15-9.3-28.4-23.4-33.7zM358 214.8l-85 31.9v-68.2l85-37v73.3zM154 104.1l102-38.2 102 38.2v.6l-102 41.4-102-41.4v-.6zm84 291.1l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6zm240 112l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6z"></path></svg>126 Dependents</span></a></li><li class="_8055e658 f5 fw5 tc pointer b4fcfd19" role="presentation"><a class="_38ce9a85 link db ph4 fw6" href="?activeTab=versions" aria-selected="false" role="tab" aria-controls="tabpanel-versions" id="package-tab-versions" tabindex="-1"><span><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="tags" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M497.941 225.941L286.059 14.059A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v204.118a48 48 0 0 0 14.059 33.941l211.882 211.882c18.744 18.745 49.136 18.746 67.882 0l204.118-204.118c18.745-18.745 18.745-49.137 0-67.882zM112 160c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm513.941 133.823L421.823 497.941c-18.745 18.745-49.137 18.745-67.882 0l-.36-.36L527.64 323.522c16.999-16.999 26.36-39.6 26.36-63.64s-9.362-46.641-26.36-63.64L331.397 0h48.721a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882z"></path></svg>48 Versions</span></a></li></ul><div class="_6620a4fd mw8-l mw-100 w-100 w-two-thirds-l ph3-m pt2 pl0-ns pl2"><span><section class="e22ba268 ph2 ph0-ns ml0-ns mr3-ns black-80" id="tabpanel-readme" aria-labelledby="package-tab-readme" role="tabpanel" data-attribute=""><div class=""><article><div id="readme" class="_704c034e _6d9832ac pr4-ns pl0-ns ph1-m pr3-m pr2"><p><a href="https://www.npmjs.org/package/xlsx-populate" rel="nofollow"><img src="http://img.shields.io/npm/v/xlsx-populate.svg" alt="view on npm" /></a> <a href="https://www.npmjs.org/package/xlsx-populate" rel="nofollow"><img src="http://img.shields.io/npm/dm/xlsx-populate.svg" alt="npm module downloads per month" /></a> <a href="https://travis-ci.org/dtjohnson/xlsx-populate" rel="nofollow"><img src="https://travis-ci.org/dtjohnson/xlsx-populate.svg?branch=master" alt="Build Status" /></a> <a href="https://david-dm.org/dtjohnson/xlsx-populate" rel="nofollow"><img src="https://david-dm.org/dtjohnson/xlsx-populate.svg" alt="Dependency Status" /></a></p> <h1 class="package-name-redundant"><a id="user-content-xlsx-populate" class="deep-link" href="#xlsx-populate" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>xlsx-populate</h1> <p class="package-description-redundant">Excel XLSX parser/generator written in JavaScript with Node.js and browser support, jQuery/d3-style method chaining, encryption, and a focus on keeping existing workbook features and styles in tact.</p> <h2><a id="user-content-table-of-contents" class="deep-link" href="#table-of-contents" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Table of Contents</h2> <ul> <li><a href="#installation" rel="nofollow">Installation</a> <ul> <li><a href="#nodejs" rel="nofollow">Node.js</a></li> <li><a href="#browser" rel="nofollow">Browser</a></li> </ul> </li> <li><a href="#usage" rel="nofollow">Usage</a> <ul> <li><a href="#populating-data" rel="nofollow">Populating Data</a></li> <li><a href="#parsing-data" rel="nofollow">Parsing Data</a></li> <li><a href="#ranges" rel="nofollow">Ranges</a></li> <li><a href="#rows-and-columns" rel="nofollow">Rows and Columns</a></li> <li><a href="#managing-sheets" rel="nofollow">Managing Sheets</a></li> <li><a href="#defined-names" rel="nofollow">Defined Names</a></li> <li><a href="#find-and-replace" rel="nofollow">Find and Replace</a></li> <li><a href="#styles" rel="nofollow">Styles</a></li> <li><a href="#rich-texts" rel="nofollow">Rich Texts</a> <ul> <li><a href="#supported-styles" rel="nofollow">Supported styles</a></li> <li><a href="#usage-1" rel="nofollow">Usage</a></li> <li><a href="#notes" rel="nofollow">Notes</a></li> </ul> </li> <li><a href="#dates" rel="nofollow">Dates</a></li> <li><a href="#data-validation" rel="nofollow">Data Validation</a></li> <li><a href="#method-chaining" rel="nofollow">Method Chaining</a></li> <li><a href="#hyperlinks" rel="nofollow">Hyperlinks</a></li> <li><a href="#print-options" rel="nofollow">Print Options</a></li> <li><a href="#page-margins" rel="nofollow">Page Margins</a></li> <li><a href="#sheetview-panes" rel="nofollow">SheetView Panes</a></li> <li><a href="#serving-from-express" rel="nofollow">Serving from Express</a></li> <li><a href="#browser-usage" rel="nofollow">Browser Usage</a></li> <li><a href="#promises" rel="nofollow">Promises</a></li> <li><a href="#encryption" rel="nofollow">Encryption</a></li> </ul> </li> <li><a href="#missing-features" rel="nofollow">Missing Features</a></li> <li><a href="#submitting-an-issue" rel="nofollow">Submitting an Issue</a></li> <li><a href="#contributing" rel="nofollow">Contributing</a> <ul> <li><a href="#how-xlsx-populate-works" rel="nofollow">How xlsx-populate Works</a></li> <li><a href="#setting-up-your-environment" rel="nofollow">Setting up your Environment</a></li> <li><a href="#pull-request-checklist" rel="nofollow">Pull Request Checklist</a></li> <li><a href="#gulp-tasks" rel="nofollow">Gulp Tasks</a></li> </ul> </li> <li><a href="#style-reference" rel="nofollow">Style Reference</a></li> <li><a href="#api-reference" rel="nofollow">API Reference</a></li> </ul> <h2><a id="user-content-installation" class="deep-link" href="#installation" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Installation</h2> <h3><a id="user-content-nodejs" class="deep-link" href="#nodejs" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Node.js</h3> <div class="highlight sh"><pre class="editor editor-colors"><div class="line"><span class="source shell"><span>npm install xlsx-populate</span></span></div></pre></div> <p>Note that xlsx-populate uses ES6 features so only Node.js v4+ is supported.</p> <h3><a id="user-content-browser" class="deep-link" href="#browser" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Browser</h3> <p>A functional browser example can be found in <a href="https://gitcdn.xyz/repo/dtjohnson/xlsx-populate/master/examples/browser/index.html" rel="nofollow">examples/browser/index.html</a>.</p> <p>xlsx-populate is written first for Node.js. We use <a href="http://browserify.org/" rel="nofollow">browserify</a> and <a href="https://github.com/babel/babelify" rel="nofollow">babelify</a> to transpile and pack up the module for use in the browser.</p> <p>You have a number of options to include the code in the browser. You can download the combined, minified code from the browser directory in this repository or you can install with bower:</p> <div class="highlight sh"><pre class="editor editor-colors"><div class="line"><span class="source shell"><span>bower install xlsx-populate</span></span></div></pre></div> <p>After including the module in the browser, it is available globally as <code>XlsxPopulate</code>.</p> <p>Alternatively, you can require this module using <a href="http://browserify.org/" rel="nofollow">browserify</a>. Since xlsx-populate uses ES6 features, you will also need to use <a href="https://github.com/babel/babelify" rel="nofollow">babelify</a> with <a href="https://www.npmjs.com/package/babel-preset-env" rel="nofollow">babel-preset-env</a>.</p> <h2><a id="user-content-usage" class="deep-link" href="#usage" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Usage</h2> <p>xlsx-populate has an <a href="#api-reference" rel="nofollow">extensive API</a> for working with Excel workbooks. This section reviews the most common functions and use cases. Examples can also be found in the examples directory of the source code.</p> <h3><a id="user-content-populating-data" class="deep-link" href="#populating-data" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Populating Data</h3> <p>To populate data in a workbook, you first load one (either blank, from data, or from file). Then you can access sheets and cells within the workbook to manipulate them.</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>XlsxPopulate</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="meta function-call js"><span class="support function js"><span>require</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>xlsx-populate</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Load a new blank workbook</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>XlsxPopulate</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>fromBlankAsync</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>then</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="meta function js"><span class="meta js"><span class="variable function js"><span>workbook</span></span></span><span> </span><span class="storage type function js"><span>=></span></span></span><span> </span><span class="punctuation definition function begin curly js"><span>{</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Modify the workbook.</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>Sheet1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>cell</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>A1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>This is neat!</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Write to file.</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="keyword control js"><span>return</span></span><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>toFileAsync</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>./out.xlsx</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="punctuation definition function end curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <h3><a id="user-content-parsing-data" class="deep-link" href="#parsing-data" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Parsing Data</h3> <p>You can pull data out of existing workbooks using <a href="#Cell+value" rel="nofollow">Cell.value</a> as a getter without any arguments:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>XlsxPopulate</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="meta function-call js"><span class="support function js"><span>require</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>xlsx-populate</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Load an existing workbook</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>XlsxPopulate</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>fromFileAsync</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>./Book1.xlsx</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>then</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="meta function js"><span class="meta js"><span class="variable function js"><span>workbook</span></span></span><span> </span><span class="storage type function js"><span>=></span></span></span><span> </span><span class="punctuation definition function begin curly js"><span>{</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Modify the workbook.</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>value</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>Sheet1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>cell</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>A1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Log the value.</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="entity name type object console js"><span>console</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function console js"><span>log</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span>value</span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="punctuation definition function end curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p><strong>Note</strong>: in cells that contain values calculated by formulas, Excel will store the calculated value in the workbook. The <a href="#Cell+value" rel="nofollow">value</a> method will return the value of the cells at the time the workbook was saved. xlsx-populate will <em>not</em> recalculate the values as you manipulate the workbook and will <em>not</em> write the values to the output.</p> <h3><a id="user-content-ranges" class="deep-link" href="#ranges" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Ranges</h3> <p>xlsx-populate also supports ranges of cells to allow parsing/manipulation of multiple cells at once.</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>r</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>range</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>A1:C3</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set all cell values to the same value:</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>r</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span class="constant numeric decimal js"><span>5</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set the values using a 2D array:</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>r</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span class="meta brace square js"><span>[</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta brace square js"><span>[</span></span><span class="constant numeric decimal js"><span>1</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>2</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>3</span></span><span class="meta brace square js"><span>]</span></span><span class="meta delimiter object comma js"><span>,</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta brace square js"><span>[</span></span><span class="constant numeric decimal js"><span>4</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>5</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>6</span></span><span class="meta brace square js"><span>]</span></span><span class="meta delimiter object comma js"><span>,</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta brace square js"><span>[</span></span><span class="constant numeric decimal js"><span>7</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>8</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>9</span></span><span class="meta brace square js"><span>]</span></span></span></div><div class="line"><span class="source js"><span class="meta brace square js"><span>]</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set the values using a callback function:</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>r</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span class="meta function js"><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="variable function js"><span>cell</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="variable function js"><span>ri</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="variable function js"><span>ci</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="variable function js"><span>range</span></span><span class="punctuation definition end round js"><span>)</span></span></span><span> </span><span class="storage type function js"><span>=></span></span></span><span> </span><span class="support class math js"><span>Math</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function math js"><span>random</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>A common use case is to simply pull all of the values out all at once. You can easily do that with the <a href="#Sheet+usedRange" rel="nofollow">Sheet.usedRange</a> method.</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get 2D array of all values in the worksheet.</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>values</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>Sheet1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>usedRange</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>Alternatively, you can set the values in a range with only the top-left cell in the range:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>cell</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>A1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span class="meta brace square js"><span>[</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta brace square js"><span>[</span></span><span class="constant numeric decimal js"><span>1</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>2</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>3</span></span><span class="meta brace square js"><span>]</span></span><span class="meta delimiter object comma js"><span>,</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta brace square js"><span>[</span></span><span class="constant numeric decimal js"><span>4</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>5</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>6</span></span><span class="meta brace square js"><span>]</span></span><span class="meta delimiter object comma js"><span>,</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta brace square js"><span>[</span></span><span class="constant numeric decimal js"><span>7</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>8</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>9</span></span><span class="meta brace square js"><span>]</span></span></span></div><div class="line"><span class="source js"><span class="meta brace square js"><span>]</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>The set range is returned.</p> <h3><a id="user-content-rows-and-columns" class="deep-link" href="#rows-and-columns" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Rows and Columns</h3> <p>You can access rows and columns in order to change size, hide/show, or access cells within:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get the B column, set its width and unhide it (assuming it was hidden).</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>column</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>B</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>width</span></span><span class="meta brace round js"><span>(</span></span><span class="constant numeric decimal js"><span>25</span></span><span class="meta brace round js"><span>)</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>hidden</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant language boolean false js"><span>false</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>cell</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>row</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>5</span></span><span class="punctuation definition end round js"><span>)</span></span></span><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>cell</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>3</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Returns the cell at C5.</span></span></span></div></pre></div> <h3><a id="user-content-managing-sheets" class="deep-link" href="#managing-sheets" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Managing Sheets</h3> <p>xlsx-populate supports a number of options for managing sheets.</p> <p>You can get a sheet by name or index or get all of the sheets as an array:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get sheet by index</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>sheet1</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get sheet by name</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>sheet2</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>Sheet2</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get all sheets as an array</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>sheets</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheets</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>You can add new sheets:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Add a new sheet named 'New 1' at the end of the workbook</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>newSheet1</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>addSheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>New 1</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Add a new sheet named 'New 2' at index 1 (0-based)</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>newSheet2</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>addSheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>New 2</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>1</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Add a new sheet named 'New 3' before the sheet named 'Sheet1'</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>newSheet3</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>addSheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>New 3</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>Sheet1</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Add a new sheet named 'New 4' before the sheet named 'Sheet1' using a Sheet reference.</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>sheet</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>Sheet1</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>newSheet4</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>addSheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>New 4</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> sheet</span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p><em>Note: the sheet rename method does not rename references to the sheet so formulas, etc. can be broken. Use with caution!</em></p> <p>You can rename sheets:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Rename the first sheet.</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>sheet</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>name</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>new sheet name</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>You can move sheets:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Move 'Sheet1' to the end</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>moveSheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>Sheet1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Move 'Sheet1' to index 2</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>moveSheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>Sheet1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>2</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Move 'Sheet1' before 'Sheet2'</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>moveSheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>Sheet1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>Sheet2</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>The above methods can all use sheet references instead of names as well. And you can also move a sheet using a method on the sheet:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Move the sheet before 'Sheet2'</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>move</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>Sheet2</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>You can delete sheets:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Delete 'Sheet1'</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>deleteSheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>Sheet1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Delete sheet with index 2</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>deleteSheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>2</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Delete from sheet reference</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>delete</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>You can get/set the active sheet:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get the active sheet</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>sheet</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>activeSheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Check if the current sheet is active</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>active</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> returns true or false</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Activate the sheet</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>active</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant language boolean true js"><span>true</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Or from the workbook</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>activeSheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>Sheet2</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <h3><a id="user-content-defined-names" class="deep-link" href="#defined-names" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Defined Names</h3> <p>Excel supports creating defined names that refer to addresses, formulas, or constants. These defined names can be scoped to the entire workbook or just individual sheets. xlsx-populate supports looking up defined names that refer to cells or ranges. (Dereferencing other names will result in an error.) Defined names are particularly useful if you are populating data into a known template. Then you do not need to know the exact location.</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Look up workbook-scoped name and set the value to 5.</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>definedName</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>some name</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span class="constant numeric decimal js"><span>5</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Look of a name scoped to the first sheet and set the value to "foo".</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>definedName</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>some other name</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>foo</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>You can also create, modify, or delete defined names:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Create/modify a workbook-scope defined name</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>definedName</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>some name</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>TRUE</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Delete a sheet-scoped defined name:</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>definedName</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>some name</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant language null js"><span>null</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <h3><a id="user-content-find-and-replace" class="deep-link" href="#find-and-replace" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Find and Replace</h3> <p>You can search for occurrences of text in cells within the workbook or sheets and optionally replace them.</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Find all occurrences of the text "foo" in the workbook and replace with "bar".</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function js"><span>find</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>foo</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>bar</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Returns array of matched cells</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Find the matches but don't replace.</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function js"><span>find</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>foo</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Just look in the first sheet.</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span><span class="meta delimiter method period js"><span>.</span></span><span class="support function js"><span>find</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>foo</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Check if a particular cell matches the value.</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>Sheet1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>cell</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>A1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span><span class="meta delimiter method period js"><span>.</span></span><span class="support function js"><span>find</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>foo</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Returns true or false</span></span></span></div></pre></div> <p>Like <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace" rel="nofollow">String.replace</a>, the find method can also take a RegExp search pattern and replace can take a function callback:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Use a RegExp to replace all lowercase letters with uppercase</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function js"><span>find</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string regexp js"><span class="punctuation definition string begin js"><span>/</span></span><span class="constant other regexp"><span class="punctuation definition regexp"><span>[</span></span><span class="constant other range regexp"><span>a-z</span></span><span class="punctuation definition regexp"><span>]</span></span></span><span class="keyword operator quantifier regexp"><span>+</span></span><span class="punctuation definition string end js"><span>/</span></span><span>g</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="meta function js"><span class="meta js"><span class="variable function js"><span>match</span></span></span><span> </span><span class="storage type function js"><span>=></span></span></span><span> </span><span class="variable other object js"><span>match</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function js"><span>toUpperCase</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <h3><a id="user-content-styles" class="deep-link" href="#styles" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Styles</h3> <p>xlsx-populate supports a wide range of cell formatting. See the <a href="#style-reference" rel="nofollow">Style Reference</a> for the various options.</p> <p>To get/set a cell style:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get a single style</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>bold</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>bold</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> true</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get multiple styles</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>styles</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="meta brace square js"><span>[</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>bold</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>italic</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace square js"><span>]</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> { bold: true, italic: true }</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set a single style</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>bold</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set multiple styles</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="meta brace curly js"><span>{</span></span><span> bold</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> italic</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span> </span><span class="meta brace curly js"><span>}</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>Similarly for ranges:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set all cells in range with a single style</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>range</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>bold</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set with a 2D array</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>range</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>bold</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="meta brace square js"><span>[</span><span>[</span></span><span class="constant language boolean true js"><span>true</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant language boolean false js"><span>false</span></span><span class="meta brace square js"><span>]</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="meta brace square js"><span>[</span></span><span class="constant language boolean false js"><span>false</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span class="meta brace square js"><span>]</span><span>]</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set with a callback function</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>range</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>bold</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="meta function js"><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="variable function js"><span>cell</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="variable function js"><span>ri</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="variable function js"><span>ci</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="variable function js"><span>range</span></span><span class="punctuation definition end round js"><span>)</span></span></span><span> </span><span class="storage type function js"><span>=></span></span></span><span> </span><span class="support class math js"><span>Math</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function math js"><span>random</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span> </span><span class="keyword operator comparison js"><span>></span></span><span> </span><span class="constant numeric decimal js"><span>0</span><span class="meta delimiter decimal period js"><span>.</span></span><span>5</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set multiple styles using any combination</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>range</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="meta brace curly js"><span>{</span></span></span></div><div class="line"><span class="source js"><span> bold</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span class="meta delimiter object comma js"><span>,</span></span></span></div><div class="line"><span class="source js"><span> italic</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="meta brace square js"><span>[</span><span>[</span></span><span class="constant language boolean true js"><span>true</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant language boolean false js"><span>false</span></span><span class="meta brace square js"><span>]</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="meta brace square js"><span>[</span></span><span class="constant language boolean false js"><span>false</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span class="meta brace square js"><span>]</span><span>]</span></span><span class="meta delimiter object comma js"><span>,</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta function json js"><span class="entity name function js"><span>underline</span></span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="variable function js"><span>cell</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="variable function js"><span>ri</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="variable function js"><span>ci</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="variable function js"><span>range</span></span><span class="punctuation definition end round js"><span>)</span></span></span><span> </span><span class="storage type function js"><span>=></span></span></span><span> </span><span class="support class math js"><span>Math</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function math js"><span>random</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span> </span><span class="keyword operator comparison js"><span>></span></span><span> </span><span class="constant numeric decimal js"><span>0</span><span class="meta delimiter decimal period js"><span>.</span></span><span>5</span></span></span></div><div class="line"><span class="source js"><span class="meta brace curly js"><span>}</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>If you are setting styles for many cells, performance is far better if you set for an entire row or column:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set a single style</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>row</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>1</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>bold</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set multiple styles</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>column</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>A</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="meta brace curly js"><span>{</span></span><span> bold</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> italic</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span> </span><span class="meta brace curly js"><span>}</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get a single style</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>bold</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>column</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>3</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>bold</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get multiple styles</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>styles</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>row</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>5</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="meta brace square js"><span>[</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>bold</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>italic</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace square js"><span>]</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>Note that the row/column style behavior mirrors Excel. Setting a style on a column will apply that style to all existing cells and any new cells that are populated. Getting the row/column style will return only the styles that have been applied to the entire row/column, not the styles of every cell in the row or column.</p> <p>Some styles take values that are more complex objects:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>fill</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="meta brace curly js"><span>{</span></span></span></div><div class="line"><span class="source js"><span> type</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>pattern</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span></span></div><div class="line"><span class="source js"><span> pattern</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>darkDown</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span></span></div><div class="line"><span class="source js"><span> foreground</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="meta brace curly js"><span>{</span></span></span></div><div class="line"><span class="source js"><span> rgb</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>ff0000</span><span class="punctuation definition string end js"><span>"</span></span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta brace curly js"><span>}</span></span><span class="meta delimiter object comma js"><span>,</span></span></span></div><div class="line"><span class="source js"><span> background</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="meta brace curly js"><span>{</span></span></span></div><div class="line"><span class="source js"><span> theme</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant numeric decimal js"><span>3</span></span><span class="meta delimiter object comma js"><span>,</span></span></span></div><div class="line"><span class="source js"><span> tint</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant numeric decimal js"><span>0</span><span class="meta delimiter decimal period js"><span>.</span></span><span>4</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta brace curly js"><span>}</span></span></span></div><div class="line"><span class="source js"><span class="meta brace curly js"><span>}</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>There are often shortcuts for the setters, but the getters will always return the full objects:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>fill</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>0000ff</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>fill</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>fill</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="comment block js"><span class="punctuation definition comment js"><span>/*</span></span></span></span></div><div class="line"><span class="source js"><span class="comment block js"><span>fill is now set to:</span></span></span></div><div class="line"><span class="source js"><span class="comment block js"><span>{</span></span></span></div><div class="line"><span class="source js"><span class="comment block js"><span> type: "solid",</span></span></span></div><div class="line"><span class="source js"><span class="comment block js"><span> color: {</span></span></span></div><div class="line"><span class="source js"><span class="comment block js"><span> rgb: "0000ff"</span></span></span></div><div class="line"><span class="source js"><span class="comment block js"><span> }</span></span></span></div><div class="line"><span class="source js"><span class="comment block js"><span>}</span></span></span></div><div class="line"><span class="source js"><span class="comment block js"><span class="punctuation definition comment js"><span>*/</span></span></span></span></div></pre></div> <p>Number formats are one of the most common styles. They can be set using the <code>numberFormat</code> style.</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>numberFormat</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>0.00</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>Information on how number format codes work can be found <a href="https://support.office.com/en-us/article/Number-format-codes-5026bbd6-04bc-48cd-bf33-80f18b4eae68?ui=en-US&rs=en-US&ad=US" rel="nofollow">here</a>. You can also look up the desired format code in Excel:</p> <ul> <li>Right-click on a cell in Excel with the number format you want.</li> <li>Click on "Format Cells..."</li> <li>Switch the category to "Custom" if it is not already.</li> <li>The code in the "Type" box is the format you should copy.</li> </ul> <h3><a id="user-content-rich-texts" class="deep-link" href="#rich-texts" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Rich Texts</h3> <p>You can read/write rich texts to cells.</p> <h4><a id="user-content-supported-styles" class="deep-link" href="#supported-styles" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Supported styles</h4> <p><code>bold</code>, <code>italic</code>, <code>underline</code>, <code>strikethrough</code>, <code>subscript</code>, <code>fontSize</code>, <code>fontFamily</code>, <code>fontGenericFamily</code>, <code>fontScheme</code>, <code>fontColor</code>. See the <a href="#style-reference" rel="nofollow">Style Reference</a> for the various options.</p> <h4><a id="user-content-usage-1" class="deep-link" href="#usage-1" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Usage</h4> <p>You can read and modify rich texts on an existing rich text cell:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> assume A1 is a rich text cell</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>RichText</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="meta function-call js"><span class="support function js"><span>require</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>xlsx-Populate</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="variable other js"><span>RichText</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>cell</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>cell</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>A1</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span> </span><span class="keyword operator js"><span>instanceof</span></span><span> RichText </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> returns true</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>richtext</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> get the concatenate text</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>richtext</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>text</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> loop through each rich text fragment</span></span></span></div><div class="line"><span class="source js"><span class="keyword control js"><span>for</span></span><span> </span><span class="meta brace round js"><span>(</span></span><span class="storage type js"><span>let</span></span><span> i </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation terminator statement js"><span>;</span></span><span> i </span><span class="keyword operator comparison js"><span><</span></span><span> </span><span class="variable other object js"><span>richtext</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable js"><span>length</span></span><span class="punctuation terminator statement js"><span>;</span></span><span> i</span><span class="keyword operator js"><span>++</span></span><span class="meta brace round js"><span>)</span></span><span> </span><span class="meta brace curly js"><span>{</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>fragment</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>richtext</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>get</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span>i</span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get the style</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="variable other object js"><span>fragment</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>bold</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get many styles</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="variable other object js"><span>fragment</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="meta brace square js"><span>[</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>bold</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>italic</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta brace square js"><span>]</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set one style</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="variable other object js"><span>fragment</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>bold</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set many styles</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="variable other object js"><span>fragment</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="meta brace curly js"><span>{</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>bold</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>italic</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span> </span><span class="meta brace curly js"><span>}</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get the value</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="variable other object js"><span>fragment</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set the value</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="variable other object js"><span>fragment</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>hello</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="meta brace curly js"><span>}</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> remove the first rich text fragment</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>richtext</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>remove</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> clear this rich texts</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>richtext</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>clear</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>How to set a cell to rich texts:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>RichText</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="meta function-call js"><span class="support function js"><span>require</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>xlsx-Populate</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="variable other js"><span>RichText</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>cell</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>cell</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>A1</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> set a cell value to rich text</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span class="meta class instance constructor js"><span class="keyword operator js"><span>new</span></span><span> </span><span class="entity name type instance js"><span>RichText</span></span></span><span class="meta brace round js"><span>(</span><span>)</span><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> add two rich text fragments</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>add</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>hello </span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="meta brace curly js"><span>{</span></span><span> italic</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> bold</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span> </span><span class="meta brace curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>add</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>world!</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="meta brace curly js"><span>{</span></span><span> fontColor</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>FF0000</span><span class="punctuation definition string end js"><span>'</span></span></span><span> </span><span class="meta brace curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>You can specify the index when adding rich text fragment.</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> add before the first fragment</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>add</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>text</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="meta brace curly js"><span>{</span></span><span> bold</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span> </span><span class="meta brace curly js"><span>}</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> add before the second fragment</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>add</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>text</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="meta brace curly js"><span>{</span></span><span> bold</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span> </span><span class="meta brace curly js"><span>}</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>1</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> add after the last fragment</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>add</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>text</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="meta brace curly js"><span>{</span></span><span> bold</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span> </span><span class="meta brace curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <h4><a id="user-content-notes" class="deep-link" href="#notes" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Notes</h4> <p>We make a deep copy of the richtext instance when assign it to a cell, which means you can only modify the content of the richtext before calling <code>cell.value(richtext)</code>. Any modification to the richtext instance after calling <code>cell.value(richtext)</code> will not save to the cell. i.e.</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>richtext</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="meta class instance constructor js"><span class="keyword operator js"><span>new</span></span><span> </span><span class="entity name type instance js"><span>RichText</span></span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>richtext</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>add</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>hello</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span>richtext</span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>text</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> returns 'hello'</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>richtext</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>add</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span> world</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>richtext</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>text</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> returns 'hello world' </span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>text</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> returns 'hello'</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span> </span><span class="keyword operator comparison js"><span>===</span></span><span> richtext</span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> returns false</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>add</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span> world</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>text</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> returns 'hello world'</span></span></span></div></pre></div> <p>This means you can create a rich text instance and assign it to any cells! Each cell does not share the same instance but creates a deep copy of the instance.</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>sheet</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>richtext</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="meta class instance constructor js"><span class="keyword operator js"><span>new</span></span><span> </span><span class="entity name type instance js"><span>RichText</span></span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>richtext</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>add</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>hello</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>range</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>range</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>A1:C3</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>range</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span>richtext</span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> they do not share the same instance</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>cell</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>A1</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span> </span><span class="keyword operator comparison js"><span>===</span></span><span> </span><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>cell</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>C1</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> returns false</span></span></span></div></pre></div> <p>You can get the rich text from a cell and set it to anoher cell.</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>richtext</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>cell1</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell2</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span>richtext</span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell1</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span> </span><span class="keyword operator comparison js"><span>===</span></span><span> </span><span class="variable other object js"><span>cell2</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> returns false</span></span></span></div></pre></div> <p>Whenever you call <code>richtext.add(text, styles, index)</code>, we will detect if the given <code>text</code> contains line separators (<code>\n</code>, <code>\r</code>, <code>\r\n</code>), if it does, we will call <code>cell.style('wrapText', true)</code> for you. MS Excel needs wrapText to be true to have the new lines displayed, otherwise you will see the texts in one line. You may also need to set row height to have all lines displayed.</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> it support all line separators</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>add</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>123</span><span class="constant character js"><span>\n</span></span><span>456</span><span class="constant character js"><span>\r</span></span><span>789</span><span class="constant character js"><span>\r</span><span>\n</span></span><span>10</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="meta brace curly js"><span>{</span></span><span> italic</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> fontColor</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>123456</span><span class="punctuation definition string end js"><span>'</span></span></span><span> </span><span class="meta brace curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> remember to set height to show the whole row</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>row</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>1</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>height</span></span><span class="meta brace round js"><span>(</span></span><span class="constant numeric decimal js"><span>100</span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <h3><a id="user-content-dates" class="deep-link" href="#dates" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Dates</h3> <p>Excel stores date/times as the number of days since 1/1/1900 (<a href="https://en.wikipedia.org/wiki/Leap_year_bug" rel="nofollow">sort of</a>). It just applies a number formatting to make the number appear as a date. So to set a date value, you will need to also set a number format for a date if one doesn't already exist in the cell:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span class="meta class instance constructor js"><span class="keyword operator js"><span>new</span></span><span> </span><span class="entity name type instance js"><span>Date</span></span></span><span class="meta brace round js"><span>(</span></span><span class="constant numeric decimal js"><span>2017</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>1</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>22</span></span><span class="meta brace round js"><span>)</span><span>)</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>numberFormat</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>dddd, mmmm dd, yyyy</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>When fetching the value of the cell, it will be returned as a number. To convert it to a date use <a href="#XlsxPopulate.numberToDate" rel="nofollow">XlsxPopulate.numberToDate</a>:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>num</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> 42788</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>date</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>XlsxPopulate</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>numberToDate</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span>num</span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Wed Feb 22 2017 00:00:00 GMT-0500 (Eastern Standard Time)</span></span></span></div></pre></div> <h3><a id="user-content-data-validation" class="deep-link" href="#data-validation" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Data Validation</h3> <p>Data validation is also supported. To set/get/remove a cell data validation:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set the data validation</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>dataValidation</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="meta brace curly js"><span>{</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> type</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>list</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> allowBlank</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean false js"><span>false</span></span><span class="meta delimiter object comma js"><span>,</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> showInputMessage</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean false js"><span>false</span></span><span class="meta delimiter object comma js"><span>,</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> prompt</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean false js"><span>false</span></span><span class="meta delimiter object comma js"><span>,</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> promptTitle</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>String</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> showErrorMessage</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean false js"><span>false</span></span><span class="meta delimiter object comma js"><span>,</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> error</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>String</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> errorTitle</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>String</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> operator</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>String</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> formula1</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>$A:$A</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span>Required</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> formula2</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>String</span><span class="punctuation definition string end js"><span>'</span></span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span class="meta brace curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span>Here is a short version of the one above.</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>dataValidation</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>$A:$A</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get the data validation</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>obj</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>cell</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>dataValidation</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Returns an object</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Remove the data validation</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>dataValidation</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant language null js"><span>null</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span>Returns the cell</span></span></span></div></pre></div> <p>Similarly for ranges:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set all cells in range with a single shared data validation</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>range</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>dataValidation</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="meta brace curly js"><span>{</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> type</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>list</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> allowBlank</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean false js"><span>false</span></span><span class="meta delimiter object comma js"><span>,</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> showInputMessage</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean false js"><span>false</span></span><span class="meta delimiter object comma js"><span>,</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> prompt</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean false js"><span>false</span></span><span class="meta delimiter object comma js"><span>,</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> promptTitle</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>String</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> showErrorMessage</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean false js"><span>false</span></span><span class="meta delimiter object comma js"><span>,</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> error</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>String</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> errorTitle</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>String</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> operator</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>String</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> formula1</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>Item1,Item2,Item3,Item4</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span>Required</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> formula2</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>String</span><span class="punctuation definition string end js"><span>'</span></span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span class="meta brace curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span>Here is a short version of the one above.</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>range</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>dataValidation</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>Item1,Item2,Item3,Item4</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get the data validation</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>obj</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>range</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>dataValidation</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Returns an object</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Remove the data validation</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>range</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>dataValidation</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant language null js"><span>null</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span>Returns the Range</span></span></span></div></pre></div> <p>Please note, the data validation gets applied to the entire range, <em>not</em> each Cell in the range.</p> <h3><a id="user-content-method-chaining" class="deep-link" href="#method-chaining" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Method Chaining</h3> <p>xlsx-populate uses method-chaining similar to that found in <a href="https://jquery.com/" rel="nofollow">jQuery</a> and <a href="https://d3js.org/" rel="nofollow">d3</a>. This lets you construct large chains of setters as desired:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span>workbook</span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>cell</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>A1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>foo</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace round js"><span>)</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>bold</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span class="meta brace round js"><span>)</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>relativeCell</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>1</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>formula</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>A1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>italic</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span class="meta brace round js"><span>)</span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>workbook</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>1</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>range</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>A1:B3</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span class="constant numeric decimal js"><span>5</span></span><span class="meta brace round js"><span>)</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>cell</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>0</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>underline</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>double</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div></pre></div> <h3><a id="user-content-hyperlinks" class="deep-link" href="#hyperlinks" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Hyperlinks</h3> <p>Hyperlinks are also supported on cells using the <a href="#Cell+hyperlink" rel="nofollow">Cell.hyperlink</a> method. The method will <em>not</em> style the content to look like a hyperlink. You must do that yourself:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set a hyperlink</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>Link Text</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace round js"><span>)</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="meta brace curly js"><span>{</span></span><span> fontColor</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>0563c1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> underline</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span> </span><span class="meta brace curly js"><span>}</span></span><span class="meta brace round js"><span>)</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>hyperlink</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span class="markup underline link hyperlink"><span>http://example.com</span></span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set a hyperlink with tooltip</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>Link Text</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace round js"><span>)</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>style</span></span><span class="meta brace round js"><span>(</span></span><span class="meta brace curly js"><span>{</span></span><span> fontColor</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>0563c1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> underline</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span> </span><span class="meta brace curly js"><span>}</span></span><span class="meta brace round js"><span>)</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>hyperlink</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="meta brace curly js"><span>{</span></span><span> hyperlink</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span class="markup underline link hyperlink"><span>http://example.com</span></span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> tooltip</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>example.com</span><span class="punctuation definition string end js"><span>"</span></span></span><span> </span><span class="meta brace curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get the hyperlink</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>value</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>cell</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>hyperlink</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Returns '</span><span class="markup underline link hyperlink"><span>http://example.com</span></span><span>'</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set a hyperlink to email</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>Click to Email Jeff Bezos</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace round js"><span>)</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>hyperlink</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="meta brace curly js"><span>{</span></span><span> email</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>jeff@amazon.com</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> emailSubject</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>I know you're a busy man Jeff, but...</span><span class="punctuation definition string end js"><span>"</span></span></span><span> </span><span class="meta brace curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set a hyperlink to an internal cell using an address string.</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>Click to go to an internal cell</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace round js"><span>)</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>hyperlink</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>Sheet2!A1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set a hyperlink to an internal cell using a cell object.</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>cell</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>Click to go to an internal cell</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace round js"><span>)</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>hyperlink</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>cell</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>A1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <h3><a id="user-content-print-options" class="deep-link" href="#print-options" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Print Options</h3> <p>Print options are accessed using the <a href="#Sheet+printOptions" rel="nofollow">Sheet.printOptions</a> method. Defaults are all assumed to be false, so if the attribute is missing, then the method returns false. A method <a href="#Sheet+printGridLines" rel="nofollow">Sheet.printGridLines</a> is provided to offer the convenience of setting both gridLines and gridLinesSet.</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Print row and column headings</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>printOptions</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>headings</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get the headings flag</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>headings</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>printOptions</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>headings</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Returns true</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Clear flag for center on page vertically when printing</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>printOptions</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>verticalCentered</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant language js"><span>undefined</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get the verticalCentered flag</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>verticalCentered</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>printOptions</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>verticalCentered</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Returns false</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Enable grid lines in print</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>printGridLines</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant language boolean true js"><span>true</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Now both gridLines and gridLinesSet print options are set</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>printOptions</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>gridLines</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span> </span><span class="keyword operator comparison js"><span>===</span></span><span> </span><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>printOptions</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>gridLinesSet</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span> </span><span class="keyword operator comparison js"><span>===</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Returns true</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> To disable, just disable one of gridLines or gridLinesSet</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>printOptions</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>gridLineSets</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant language boolean false js"><span>false</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>isPrintGridLinesEnabled</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>printGridLines</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Returns false</span></span></span></div></pre></div> <h3><a id="user-content-page-margins" class="deep-link" href="#page-margins" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Page Margins</h3> <p>Excel requires that all page margins are defined or none at all. To ensure this, please choose an existing or custom preset. See <a href="#Sheet+pageMarginsPreset" rel="nofollow">Sheet.pageMarginsPreset</a>.</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get the current preset</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>pageMarginsPreset</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Returns undefined</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Switch to an existing preset</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>pageMarginsPreset</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>normal</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>Page margins are accessed using the <a href="#Sheet+pageMargins" rel="nofollow">Sheet.pageMargins</a> method. If a page margin is not set, the preset will fill in the gaps.</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get top margin in inches, note that the current preset is currently set to normal (see above)</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>pageMargins</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>top</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Returns 0.75</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set top page margin in inches</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>pageMargins</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>top</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>1</span><span class="meta delimiter decimal period js"><span>.</span></span><span>1</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get top page margin in inches.</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>topPageMarginInInches</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>pageMargins</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>top</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Returns 1.1</span></span></span></div></pre></div> <h3><a id="user-content-sheetview-panes" class="deep-link" href="#sheetview-panes" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>SheetView Panes</h3> <p>SheetView Panes are accessed using the <a href="#Sheet+panes" rel="nofollow">Sheet.panes</a> method. For convenience, we have <a href="#Sheet+freezePanes" rel="nofollow">Sheet.freezePanes</a>, <a href="#Sheet+splitPanes" rel="nofollow">Sheet.splitPanes</a>, <a href="#Sheet+resetPanes" rel="nofollow">Sheet.resetPanes</a>, and type <a href="#paneoptions--object" rel="nofollow">PaneOptions</a>.</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> access Pane options</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>panes</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> return PaneOptions Object</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> manually Set Pane options, WARNING: setting wrong options may result in excel fails to open.</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>paneOptions</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="meta brace curly js"><span>{</span></span><span> state</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>frozen</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> topLeftCell</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>B2</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> xSplit</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant numeric decimal js"><span>1</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> ySplit</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="constant numeric decimal js"><span>1</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> activePane</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>bottomRight</span><span class="punctuation definition string end js"><span>'</span></span></span><span> </span><span class="meta brace curly js"><span>}</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>panes</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span>paneOptions</span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> return PaneOptions Object</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> freeze panes (freeze first column and first two rows)</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>freezePanes</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>1</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>2</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> OR</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>freezePanes</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted single js"><span class="punctuation definition string begin js"><span>'</span></span><span>B3</span><span class="punctuation definition string end js"><span>'</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> split panes (Horizontal Split Position: 1000 / 20 pt, Vertical Split Position: 2000 / 20 pt)</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>splitPanes</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>1000</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant numeric decimal js"><span>2000</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> reset to normal panes (no freeze panes and split panes)</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>sheet</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>resetPanes</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <h3><a id="user-content-serving-from-express" class="deep-link" href="#serving-from-express" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Serving from Express</h3> <p>You can serve the workbook from <a href="http://expressjs.com/" rel="nofollow">express</a> or other web servers with something like this:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="variable other object js"><span>router</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>get</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>/download</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="meta function js"><span class="storage type function js"><span>function</span></span><span> </span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="variable function js"><span>req</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="variable function js"><span>res</span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="variable function js"><span>next</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span> </span><span class="punctuation definition function begin curly js"><span>{</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Open the workbook.</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="variable other object js"><span>XlsxPopulate</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>fromFileAsync</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>input.xlsx</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>then</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="meta function js"><span class="meta js"><span class="variable function js"><span>workbook</span></span></span><span> </span><span class="storage type function js"><span>=></span></span></span><span> </span><span class="punctuation definition function begin curly js"><span>{</span></span></span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span class="meta js"><span class="meta js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Make edits.</span></span></span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span class="meta js"><span class="meta js"><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>sheet</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="constant numeric decimal js"><span>0</span></span><span class="punctuation definition end round js"><span>)</span></span></span><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>cell</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>A1</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>value</span></span><span class="meta brace round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>foo</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta brace round js"><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span class="meta js"><span class="meta js"><span> </span></span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span class="meta js"><span class="meta js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get the output</span></span></span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span class="meta js"><span class="meta js"><span> </span><span class="keyword control js"><span>return</span></span><span> </span><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>outputAsync</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span class="meta js"><span class="meta js"><span> </span><span class="punctuation definition function end curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>then</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="meta function js"><span class="meta js"><span class="variable function js"><span>data</span></span></span><span> </span><span class="storage type function js"><span>=></span></span></span><span> </span><span class="punctuation definition function begin curly js"><span>{</span></span></span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span class="meta js"><span class="meta js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Set the output file name.</span></span></span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span class="meta js"><span class="meta js"><span> </span><span class="variable other object js"><span>res</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>attachment</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>output.xlsx</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span class="meta js"><span class="meta js"><span> </span></span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span class="meta js"><span class="meta js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Send the workbook.</span></span></span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span class="meta js"><span class="meta js"><span> </span><span class="variable other object js"><span>res</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function js"><span>send</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span>data</span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span class="meta js"><span class="meta js"><span> </span><span class="punctuation definition function end curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>catch</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span>next</span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span class="punctuation definition function end curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <h3><a id="user-content-browser-usage" class="deep-link" href="#browser-usage" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Browser Usage</h3> <p>Usage in the browser is almost the same. A functional example can be found in <a href="https://gitcdn.xyz/repo/dtjohnson/xlsx-populate/master/examples/browser/index.html" rel="nofollow">examples/browser/index.html</a>. The library is exposed globally as <code>XlsxPopulate</code>. Existing workbooks can be loaded from a file:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Assuming there is a file input in the page with the id 'file-input'</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>var</span></span><span> file </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="support variable dom js"><span>document</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>getElementById</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>file-input</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="meta delimiter period js"><span>.</span></span><span class="variable other js"><span>files</span></span><span class="meta brace square js"><span>[</span></span><span class="constant numeric decimal js"><span>0</span></span><span class="meta brace square js"><span>]</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> A File object is a special kind of blob.</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>XlsxPopulate</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>fromDataAsync</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span>file</span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>then</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="meta function js"><span class="storage type function js"><span>function</span></span><span> </span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="variable function js"><span>workbook</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span> </span><span class="punctuation definition function begin curly js"><span>{</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> ...</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="punctuation definition function end curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>You can also load from AJAX if you set the responseType to 'arraybuffer':</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="storage type js"><span>var</span></span><span> req </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="meta class instance constructor js"><span class="keyword operator js"><span>new</span></span><span> </span><span class="entity name type instance js"><span>XMLHttpRequest</span></span></span><span class="meta brace round js"><span>(</span><span>)</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>req</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>open</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>GET</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>http://...</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="constant language boolean true js"><span>true</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>req</span></span><span class="meta delimiter period js"><span>.</span></span><span class="variable other js"><span>responseType</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>arraybuffer</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>req</span></span><span class="meta function js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>onreadystatechange</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="storage type function js"><span>function</span></span><span> </span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span> </span><span class="punctuation definition function begin curly js"><span>{</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="keyword control js"><span>if</span></span><span> </span><span class="meta brace round js"><span>(</span></span><span class="variable other object js"><span>req</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>readyState</span></span><span> </span><span class="keyword operator comparison js"><span>===</span></span><span> </span><span class="constant numeric decimal js"><span>4</span></span><span> </span><span class="keyword operator logical js"><span>&&</span></span><span> </span><span class="variable other object js"><span>req</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>status</span></span><span> </span><span class="keyword operator comparison js"><span>===</span></span><span> </span><span class="constant numeric decimal js"><span>200</span></span><span class="meta brace round js"><span>)</span></span><span class="meta brace curly js"><span>{</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="variable other object js"><span>XlsxPopulate</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>fromDataAsync</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="variable other object js"><span>req</span></span><span class="meta delimiter period js"><span>.</span></span><span class="variable other js"><span>response</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>then</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="meta function js"><span class="storage type function js"><span>function</span></span><span> </span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="variable function js"><span>workbook</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span> </span><span class="punctuation definition function begin curly js"><span>{</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> ...</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="punctuation definition function end curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta brace curly js"><span>}</span></span></span></div><div class="line"><span class="source js"><span class="punctuation definition function end curly js"><span>}</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span> </span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>req</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function js"><span>send</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>To download the workbook, you can either export as a blob (default behavior) or as a base64 string. You can then insert a link into the DOM and click it:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>outputAsync</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>then</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="meta function js"><span class="storage type function js"><span>function</span></span><span> </span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="variable function js"><span>blob</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span> </span><span class="punctuation definition function begin curly js"><span>{</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="keyword control js"><span>if</span></span><span> </span><span class="meta brace round js"><span>(</span></span><span class="support variable dom js"><span>window</span></span><span class="meta delimiter period js"><span>.</span></span><span class="variable other js"><span>navigator</span></span><span> </span><span class="keyword operator logical js"><span>&&</span></span><span> </span><span class="support variable dom js"><span>window</span></span><span class="meta delimiter period js"><span>.</span></span><span class="variable other object js"><span>navigator</span></span><span class="meta delimiter period js"><span>.</span></span><span class="variable other js"><span>msSaveOrOpenBlob</span></span><span class="meta brace round js"><span>)</span></span><span> </span><span class="meta brace curly js"><span>{</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> If IE, you must uses a different method.</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="support variable dom js"><span>window</span></span><span class="meta delimiter period js"><span>.</span></span><span class="variable other object js"><span>navigator</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>msSaveOrOpenBlob</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span>blob</span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>out.xlsx</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="meta brace curly js"><span>}</span></span><span> </span><span class="keyword control js"><span>else</span></span><span> </span><span class="meta brace curly js"><span>{</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="storage type js"><span>var</span></span><span> url </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="support variable dom js"><span>window</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>URL</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>createObjectURL</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span>blob</span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="storage type js"><span>var</span></span><span> a </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="support variable dom js"><span>document</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>createElement</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>a</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="support variable dom js"><span>document</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>body</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>appendChild</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span>a</span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="variable other object js"><span>a</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>href</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> url</span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="variable other object js"><span>a</span></span><span class="meta delimiter period js"><span>.</span></span><span class="variable other js"><span>download</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>out.xlsx</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="variable other object js"><span>a</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>click</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="support variable dom js"><span>window</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>URL</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>revokeObjectURL</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span>url</span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="support variable dom js"><span>document</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>body</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="support function dom js"><span>removeChild</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span>a</span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="meta brace curly js"><span>}</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="punctuation definition function end curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>Alternatively, you can download via a data URI, but this is not supported by IE:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>outputAsync</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>base64</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>then</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="meta function js"><span class="storage type function js"><span>function</span></span><span> </span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="variable function js"><span>base64</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span> </span><span class="punctuation definition function begin curly js"><span>{</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="variable other object js"><span>location</span></span><span class="meta delimiter period js"><span>.</span></span><span class="support variable dom js"><span>href</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>data:</span><span class="punctuation definition string end js"><span>"</span></span></span><span> </span><span class="keyword operator js"><span>+</span></span><span> </span><span class="variable other object js"><span>XlsxPopulate</span></span><span class="meta delimiter period js"><span>.</span></span><span class="constant other js"><span>MIME_TYPE</span></span><span> </span><span class="keyword operator js"><span>+</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>;base64,</span><span class="punctuation definition string end js"><span>"</span></span></span><span> </span><span class="keyword operator js"><span>+</span></span><span> base64</span><span class="punctuation terminator statement js"><span>;</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="punctuation definition function end curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <h3><a id="user-content-promises" class="deep-link" href="#promises" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Promises</h3> <p>xlsx-populate uses <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise" rel="nofollow">promises</a> to manage async input/output. By default it uses the <code>Promise</code> defined in the browser or Node.js. In browsers that don't support promises (IE) a <a href="https://stuk.github.io/jszip/documentation/api_jszip/external.html" rel="nofollow">polyfill is used via JSZip</a>.</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Get the current promise library in use.</span></span></span></div><div class="line"><span class="source js"><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> Helpful for getting a usable Promise library in IE.</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>var</span></span><span> </span><span class="support class js"><span>Promise</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="variable other object js"><span>XlsxPopulate</span></span><span class="meta delimiter period js"><span>.</span></span><span class="variable other js"><span>Promise</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>If you prefer, you can override the default <code>Promise</code> library used with another ES6 compliant library like <a href="http://bluebirdjs.com/" rel="nofollow">bluebird</a>.</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>Promise</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="meta function-call js"><span class="support function js"><span>require</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>bluebird</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="storage type js"><span>const</span></span><span> </span><span class="constant other js"><span>XlsxPopulate</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="meta function-call js"><span class="support function js"><span>require</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>xlsx-populate</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div><div class="line"><span class="source js"><span class="variable other object js"><span>XlsxPopulate</span></span><span class="meta delimiter period js"><span>.</span></span><span class="variable other js"><span>Promise</span></span><span> </span><span class="keyword operator assignment js"><span>=</span></span><span> </span><span class="support class js"><span>Promise</span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <h3><a id="user-content-encryption" class="deep-link" href="#encryption" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Encryption</h3> <p>XLSX Agile encryption and descryption are supported so you can read and write password-protected workbooks. To read a protected workbook, pass the password in as an option:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="variable other object js"><span>XlsxPopulate</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>fromFileAsync</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>./Book1.xlsx</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="meta brace curly js"><span>{</span></span><span> password</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>S3cret!</span><span class="punctuation definition string end js"><span>"</span></span></span><span> </span><span class="meta brace curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span></span></div><div class="line"><span class="source js"><span> </span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>then</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="meta function js"><span class="meta js"><span class="variable function js"><span>workbook</span></span></span><span> </span><span class="storage type function js"><span>=></span></span></span><span> </span><span class="punctuation definition function begin curly js"><span>{</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="comment line double-slash js"><span class="punctuation definition comment js"><span>//</span></span><span> ...</span></span></span></span></span></div><div class="line"><span class="source js"><span class="meta js"><span class="meta js"><span> </span><span class="punctuation definition function end curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>Similarly, to write a password encrypted workbook:</p> <div class="highlight js"><pre class="editor editor-colors"><div class="line"><span class="source js"><span class="variable other object js"><span>workbook</span></span><span class="meta js"><span class="meta delimiter method period js"><span>.</span></span><span class="entity name function js"><span>toFileAsync</span></span><span class="meta js"><span class="punctuation definition begin round js"><span>(</span></span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>./out.xlsx</span><span class="punctuation definition string end js"><span>"</span></span></span><span class="meta delimiter object comma js"><span>,</span></span><span> </span><span class="meta brace curly js"><span>{</span></span><span> password</span><span class="keyword operator assignment js"><span>:</span></span><span> </span><span class="string quoted double js"><span class="punctuation definition string begin js"><span>"</span></span><span>S3cret!</span><span class="punctuation definition string end js"><span>"</span></span></span><span> </span><span class="meta brace curly js"><span>}</span></span><span class="punctuation definition end round js"><span>)</span></span></span></span><span class="punctuation terminator statement js"><span>;</span></span></span></div></pre></div> <p>The password option is supported in all output methods. N.B. Workbooks will only be encrypted if you supply a password when outputting even if they had a password when reading.</p> <p>Encryption support is also available in the browser, but take care! Any password you put in browser code can be read by anyone with access to your code. You should only use passwords that are supplied by the end-user. Also, the performance of encryption/decryption in the browser is far worse than with Node.js. IE, in particular, is extremely slow. xlsx-populate is bundled for browsers with and without encryption support as the encryption libraries increase the size of the bundle a lot.</p> <h2><a id="user-content-missing-features" class="deep-link" href="#missing-features" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Missing Features</h2> <p>There are many, many features of the XLSX format that are not yet supported. If your use case needs something that isn't supported please open an issue to show your support. Better still, feel free to <a href="#contributing" rel="nofollow">contribute</a> a pull request!</p> <h2><a id="user-content-submitting-an-issue" class="deep-link" href="#submitting-an-issue" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Submitting an Issue</h2> <p>If you happen to run into a bug or an issue, please feel free to <a href="https://github.com/dtjohnson/xlsx-populate/issues" rel="nofollow">submit an issue</a>. I only ask that you please include sample JavaScript code that demonstrates the issue. If the problem lies with modifying some template, it is incredibly difficult to debug the issue without the template. So please attach the template if possible. If you have confidentiality concerns, please attach a different workbook that exhibits the issue or you can send your workbook directly to <a href="https://github.com/dtjohnson" rel="nofollow">dtjohnson</a> after creating the issue.</p> <h2><a id="user-content-contributing" class="deep-link" href="#contributing" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contributing</h2> <p>Pull requests are very much welcome! If you'd like to contribute, please make sure to read this section carefully first.</p> <h3><a id="user-content-how-xlsx-populate-works" class="deep-link" href="#how-xlsx-populate-works" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>How xlsx-populate Works</h3> <p>An XLSX workbook is essentially a zip of a bunch of XML files. xlsx-populate uses <a href="https://stuk.github.io/jszip/" rel="nofollow">JSZip</a> to unzip the workbook and <a href="https://github.com/isaacs/sax-js" rel="nofollow">sax-js</a> to parse the XML documents into corresponding objects. As you call methods, xlsx-populate manipulates the content of those objects. When you generate the output, xlsx-populate uses <a href="https://github.com/oozcitak/xmlbuilder-js" rel="nofollow">xmlbuilder-js</a> to convert the objects back to XML and then uses JSZip to rezip them back into a workbook.</p> <p>The way in which xlsx-populate manipulates objects that are essentially the XML data is very different from the usual way parser/generator libraries work. Most other libraries will deserialize the XML into a rich object model. That model is then manipulated and serialized back into XML upon generation. The challenge with this approach is that the Office Open XML spec is <a href="http://www.ecma-international.org/publications/standards/Ecma-376.htm" rel="nofollow">HUGE</a>. It is extremely difficult for libraries to be able to support the entire specification. So these other libraries will deserialize only the portion of the spec they support and any other content/styles in the workbook they don't support are lost. Since xlsx-populate just manipulates the XML data, it is able to preserve styles and other content while still only supporting a fraction of the spec.</p> <h3><a id="user-content-setting-up-your-environment" class="deep-link" href="#setting-up-your-environment" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Setting up your Environment</h3> <p>You'll need to make sure <a href="https://nodejs.org/en/" rel="nofollow">Node.js</a> v4+ is installed (as xlsx-populate uses ES6 syntax). You'll also need to install <a href="https://github.com/gulpjs/gulp" rel="nofollow">gulp</a>:</p> <div class="highlight sh"><pre class="editor editor-colors"><div class="line"><span class="source shell"><span>npm install -g gulp</span></span></div></pre></div> <p>Make sure you have <a href="https://git-scm.com/" rel="nofollow">git</a> installed. Then follow <a href="https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project" rel="nofollow">this guide</a> to see how to check out code, branch, and then submit your code as a pull request. When you check out the code, you'll first need to install the npm dependencies. From the project root, run:</p> <div class="highlight sh"><pre class="editor editor-colors"><div class="line"><span class="source shell"><span>npm install</span></span></div></pre></div> <p>The default gulp task is set up to watch the source files for updates and retest while you edit. From the project root just run:</p> <div class="highlight sh"><pre class="editor editor-colors"><div class="line"><span class="source shell"><span>gulp</span></span></div></pre></div> <p>You should see the test output in your console window. As you edit files the tests will run again and show you if you've broken anything. (Note that if you've added new files you'll need to restart gulp for the new files to be watched.)</p> <p>Now write your code and make sure to add <a href="https://jasmine.github.io/" rel="nofollow">Jasmine</a> unit tests. When you are finished, you need to build the code for the browser. Do that by running the gulp build command:</p> <div class="highlight sh"><pre class="editor editor-colors"><div class="line"><span class="source shell"><span>gulp build</span></span></div></pre></div> <p>Verify all is working, check in your code, and submit a pull request.</p> <h3><a id="user-content-pull-request-checklist" class="deep-link" href="#pull-request-checklist" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Pull Request Checklist</h3> <p>To make sure your code is consistent and high quality, please make sure to follow this checklist before submitting a pull request:</p> <ul> <li>Your code must follow the getter/setter pattern using a single function for both. Check <code>arguments.length</code> or use <code>ArgHandler</code> to distinguish.</li> <li>You must use valid <a href="http://usejsdoc.org/" rel="nofollow">JSDoc</a> comments on <em>all</em> methods and classes. Use <code>@private</code> for private methods and <code>@ignore</code> for any public methods that are internal to xlsx-populate and should not be included in the public API docs.</li> <li>You must adhere to the configured <a href="http://eslint.org/" rel="nofollow">ESLint</a> linting rules. You can configure your IDE to display rule violations live or you can run <code>gulp lint</code> to see them.</li> <li>Use <a href="http://es6-features.org/#Constants" rel="nofollow">ES6</a> syntax. (This should be enforced by ESLint.)</li> <li>Make sure to have full <a href="https://jasmine.github.io/" rel="nofollow">Jasmine</a> unit test coverage for your code.</li> <li>Make sure all tests pass successfully.</li> <li>Whenever possible, do not modify/break existing API behavior. This module adheres to the <a href="https://docs.npmjs.com/getting-started/semantic-versioning" rel="nofollow">semantic versioning standard</a>. So any breaking changes will require a major release.</li> <li>If your feature needs more documentation than just the JSDoc output, please add to the docs/template.md README file.</li> </ul> <h3><a id="user-content-gulp-tasks" class="deep-link" href="#gulp-tasks" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Gulp Tasks</h3> <p>xlsx-populate uses <a href="https://github.com/gulpjs/gulp" rel="nofollow">gulp</a> as a build tool. There are a number of tasks:</p> <ul> <li><strong>browser</strong> - Transpile and build client-side JavaScript project bundle using <a href="http://browserify.org/" rel="nofollow">browserify</a> and <a href="https://github.com/babel/babelify" rel="nofollow">babelify</a>.</li> <li><strong>lint</strong> - Check project source code style using <a href="http://eslint.org/" rel="nofollow">ESLint</a>.</li> <li><strong>unit</strong> - Run <a href="https://jasmine.github.io/" rel="nofollow">Jasmine</a> unit tests.</li> <li><strong>unit-browser</strong> - Run the unit tests in real browsers using <a href="https://karma-runner.github.io/1.0/index.html" rel="nofollow">Karma</a>.</li> <li><strong>e2e-parse</strong> - End-to-end tests of parsing data out of sample workbooks that were created in Microsoft Excel.</li> <li><strong>e2e-generate</strong> - End-to-end tests of generating workbooks using xlsx-populate. To verify the workbooks were truly generated correctly they need to be opened in Microsoft Excel and verified. This task automates this verification using the .NET Excel Interop library with <a href="https://github.com/tjanczuk/edge" rel="nofollow">Edge.js</a> acting as a bridge between Node.js and C#. Note that these tests will <em>only</em> run on Windows with Microsoft Excel and the <a href="https://msdn.microsoft.com/en-us/library/kh3965hw.aspx" rel="nofollow">Primary Interop Assemblies installed</a>.</li> <li><strong>e2e-browser</strong> - End-to-end tests of usage of the browserify bundle in real browsers using Karma.</li> <li><strong>blank</strong> - Convert a blank XLSX template into a JS buffer module to support <a href="#XlsxPopulate.fromBlankAsync" rel="nofollow">fromBlankAsync</a>.</li> <li><strong>docs</strong> - Build this README doc by combining docs/template.md, API docs generated with <a href="https://github.com/jsdoc2md/jsdoc-to-markdown" rel="nofollow">jsdoc-to-markdown</a>, and a table of contents generated with <a href="https://github.com/jonschlinkert/markdown-toc" rel="nofollow">markdown-toc</a>.</li> <li><strong>watch</strong> - Watch files for changes and then run associated gulp task. (Used by the default task.)</li> <li><strong>build</strong> - Run all gulp tasks, including linting and tests, and build the docs and browser bundle.</li> <li><strong>default</strong> - Run blank, unit, and docs tasks and watch the source files for those tasks for changes.</li> </ul> <h2><a id="user-content-style-reference" class="deep-link" href="#style-reference" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Style Reference</h2> <h3><a id="user-content-styles-1" class="deep-link" href="#styles-1" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Styles</h3> <table> <thead> <tr> <th>Style Name</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>bold</td> <td><code>boolean</code></td> <td><code>true</code> for bold, <code>false</code> for not bold</td> </tr> <tr> <td>italic</td> <td><code>boolean</code></td> <td><code>true</code> for italic, <code>false</code> for not italic</td> </tr> <tr> <td>underline</td> <td><code>boolean|string</code></td> <td><code>true</code> for single underline, <code>false</code> for no underline, <code>'double'</code> for double-underline</td> </tr> <tr> <td>strikethrough</td> <td><code>boolean</code></td> <td><code>true</code> for strikethrough <code>false</code> for not strikethrough</td> </tr> <tr> <td>subscript</td> <td><code>boolean</code></td> <td><code>true</code> for subscript, <code>false</code> for not subscript (cannot be combined with superscript)</td> </tr> <tr> <td>superscript</td> <td><code>boolean</code></td> <td><code>true</code> for superscript, <code>false</code> for not superscript (cannot be combined with subscript)</td> </tr> <tr> <td>fontSize</td> <td><code>number</code></td> <td>Font size in points. Must be greater than 0.</td> </tr> <tr> <td>fontFamily</td> <td><code>string</code></td> <td>Name of font family.</td> </tr> <tr> <td>fontGenericFamily</td> <td><code>number</code></td> <td>1: Serif, 2: Sans Serif, 3: Monospace,</td> </tr> <tr> <td>fontScheme</td> <td><code>string</code></td> <td><code>'minor'</code>|<code>'major'</code>|<code>'none'</code></td> </tr> <tr> <td>fontColor</td> <td><code>Color|string|number</code></td> <td>Color of the font. If string, will set an RGB color. If number, will set a theme color.</td> </tr> <tr> <td>horizontalAlignment</td> <td><code>string</code></td> <td>Horizontal alignment. Allowed values: <code>'left'</code>, <code>'center'</code>, <code>'right'</code>, <code>'fill'</code>, <code>'justify'</code>, <code>'centerContinuous'</code>, <code>'distributed'</code></td> </tr> <tr> <td>justifyLastLine</td> <td><code>boolean</code></td> <td>a.k.a Justified Distributed. Only applies when horizontalAlignment === <code>'distributed'</code>. A boolean value indicating if the cells justified or distributed alignment should be used on the last line of text. (This is typical for East Asian alignments but not typical in other contexts.)</td> </tr> <tr> <td>indent</td> <td><code>number</code></td> <td>Number of indents. Must be greater than or equal to 0.</td> </tr> <tr> <td>verticalAlignment</td> <td><code>string</code></td> <td>Vertical alignment. Allowed values: <code>'top'</code>, <code>'center'</code>, <code>'bottom'</code>, <code>'justify'</code>, <code>'distributed'</code></td> </tr> <tr> <td>wrapText</td> <td><code>boolean</code></td> <td><code>true</code> to wrap the text in the cell, <code>false</code> to not wrap.</td> </tr> <tr> <td>shrinkToFit</td> <td><code>boolean</code></td> <td><code>true</code> to shrink the text in the cell to fit, <code>false</code> to not shrink.</td> </tr> <tr> <td>textDirection</td> <td><code>string</code></td> <td>Direction of the text. Allowed values: <code>'left-to-right'</code>, <code>'right-to-left'</code></td> </tr> <tr> <td>textRotation</td> <td><code>number</code></td> <td>Counter-clockwise angle of rotation in degrees. Must be [-90, 90] where negative numbers indicate clockwise rotation.</td> </tr> <tr> <td>angleTextCounterclockwise</td> <td><code>boolean</code></td> <td>Shortcut for textRotation of 45 degrees.</td> </tr> <tr> <td>angleTextClockwise</td> <td><code>boolean</code></td> <td>Shortcut for textRotation of -45 degrees.</td> </tr> <tr> <td>rotateTextUp</td> <td><code>boolean</code></td> <td>Shortcut for textRotation of 90 degrees.</td> </tr> <tr> <td>rotateTextDown</td> <td><code>boolean</code></td> <td>Shortcut for textRotation of -90 degrees.</td> </tr> <tr> <td>verticalText</td> <td><code>boolean</code></td> <td>Special rotation that shows text vertical but individual letters are oriented normally. <code>true</code> to rotate, <code>false</code> to not rotate.</td> </tr> <tr> <td>fill</td> <td><code>SolidFill|PatternFill|GradientFill|Color|string|number</code></td> <td>The cell fill. If Color, will set a solid fill with the color. If string, will set a solid RGB fill. If number, will set a solid theme color fill.</td> </tr> <tr> <td>border</td> <td><code>Borders|Border|string|boolean</code></td> <td>The border settings. If string, will set outside borders to given border style. If true, will set outside border style to <code>'thin'</code>.</td> </tr> <tr> <td>borderColor</td> <td><code>Color|string|number</code></td> <td>Color of the borders. If string, will set an RGB color. If number, will set a theme color.</td> </tr> <tr> <td>borderStyle</td> <td><code>string</code></td> <td>Style of the outside borders. Allowed values: <code>'hair'</code>, <code>'dotted'</code>, <code>'dashDotDot'</code>, <code>'dashed'</code>, <code>'mediumDashDotDot'</code>, <code>'thin'</code>, <code>'slantDashDot'</code>, <code>'mediumDashDot'</code>, <code>'mediumDashed'</code>, <code>'medium'</code>, <code>'thick'</code>, <code>'double'</code></td> </tr> <tr> <td>leftBorder, rightBorder, topBorder, bottomBorder, diagonalBorder</td> <td><code>Border|string|boolean</code></td> <td>The border settings for the given side. If string, will set border to the given border style. If true, will set border style to <code>'thin'</code>.</td> </tr> <tr> <td>leftBorderColor, rightBorderColor, topBorderColor, bottomBorderColor, diagonalBorderColor</td> <td><code>Color|string|number</code></td> <td>Color of the given border. If string, will set an RGB color. If number, will set a theme color.</td> </tr> <tr> <td>leftBorderStyle, rightBorderStyle, topBorderStyle, bottomBorderStyle, diagonalBorderStyle</td> <td><code>string</code></td> <td>Style of the given side.</td> </tr> <tr> <td>diagonalBorderDirection</td> <td><code>string</code></td> <td>Direction of the diagonal border(s) from left to right. Allowed values: <code>'up'</code>, <code>'down'</code>, <code>'both'</code></td> </tr> <tr> <td>numberFormat</td> <td><code>string</code></td> <td>Number format code. See docs <a href="https://support.office.com/en-us/article/Number-format-codes-5026bbd6-04bc-48cd-bf33-80f18b4eae68?ui=en-US&rs=en-US&ad=US" rel="nofollow">here</a>.</td> </tr> </tbody> </table> <h3><a id="user-content-color" class="deep-link" href="#color" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Color</h3> <p>An object representing a color.</p> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>[rgb]</td> <td><code>string</code></td> <td>RGB color code (e.g. <code>'ff0000'</code>). Either rgb or theme is required.</td> </tr> <tr> <td>[theme]</td> <td><code>number</code></td> <td>Index of a theme color. Either rgb or theme is required.</td> </tr> <tr> <td>[tint]</td> <td><code>number</code></td> <td>Optional tint value of the color from -1 to 1. Particularly useful for theme colors. 0.0 means no tint, -1.0 means 100% darken, and 1.0 means 100% lighten.</td> </tr> </tbody> </table> <h3><a id="user-content-borders" class="deep-link" href="#borders" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Borders</h3> <p>An object representing all of the borders.</p> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>[left]</td> <td><code>Border|string|boolean</code></td> <td>The border settings for the left side. If string, will set border to the given border style. If true, will set border style to <code>'thin'</code>.</td> </tr> <tr> <td>[right]</td> <td><code>Border|string|boolean</code></td> <td>The border settings for the right side. If string, will set border to the given border style. If true, will set border style to <code>'thin'</code>.</td> </tr> <tr> <td>[top]</td> <td><code>Border|string|boolean</code></td> <td>The border settings for the top side. If string, will set border to the given border style. If true, will set border style to <code>'thin'</code>.</td> </tr> <tr> <td>[bottom]</td> <td><code>Border|string|boolean</code></td> <td>The border settings for the bottom side. If string, will set border to the given border style. If true, will set border style to <code>'thin'</code>.</td> </tr> <tr> <td>[diagonal]</td> <td><code>Border|string|boolean</code></td> <td>The border settings for the diagonal side. If string, will set border to the given border style. If true, will set border style to <code>'thin'</code>.</td> </tr> </tbody> </table> <h3><a id="user-content-border" class="deep-link" href="#border" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Border</h3> <p>An object representing an individual border.</p> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>style</td> <td><code>string</code></td> <td>Style of the given border.</td> </tr> <tr> <td>color</td> <td><code>Color|string|number</code></td> <td>Color of the given border. If string, will set an RGB color. If number, will set a theme color.</td> </tr> <tr> <td>[direction]</td> <td><code>string</code></td> <td>For diagonal border, the direction of the border(s) from left to right. Allowed values: <code>'up'</code>, <code>'down'</code>, <code>'both'</code></td> </tr> </tbody> </table> <h3><a id="user-content-solidfill" class="deep-link" href="#solidfill" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>SolidFill</h3> <p>An object representing a solid fill.</p> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>type</td> <td><code>'solid'</code></td> <td></td> </tr> <tr> <td>color</td> <td><code>Color|string|number</code></td> <td>Color of the fill. If string, will set an RGB color. If number, will set a theme color.</td> </tr> </tbody> </table> <h3><a id="user-content-patternfill" class="deep-link" href="#patternfill" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>PatternFill</h3> <p>An object representing a pattern fill.</p> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>type</td> <td><code>'pattern'</code></td> <td></td> </tr> <tr> <td>pattern</td> <td><code>string</code></td> <td>Name of the pattern. Allowed values: <code>'gray125'</code>, <code>'darkGray'</code>, <code>'mediumGray'</code>, <code>'lightGray'</code>, <code>'gray0625'</code>, <code>'darkHorizontal'</code>, <code>'darkVertical'</code>, <code>'darkDown'</code>, <code>'darkUp'</code>, <code>'darkGrid'</code>, <code>'darkTrellis'</code>, <code>'lightHorizontal'</code>, <code>'lightVertical'</code>, <code>'lightDown'</code>, <code>'lightUp'</code>, <code>'lightGrid'</code>, <code>'lightTrellis'</code>.</td> </tr> <tr> <td>foreground</td> <td><code>Color|string|number</code></td> <td>Color of the foreground. If string, will set an RGB color. If number, will set a theme color.</td> </tr> <tr> <td>background</td> <td><code>Color|string|number</code></td> <td>Color of the background. If string, will set an RGB color. If number, will set a theme color.</td> </tr> </tbody> </table> <h3><a id="user-content-gradientfill" class="deep-link" href="#gradientfill" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>GradientFill</h3> <p>An object representing a gradient fill.</p> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>type</td> <td><code>'gradient'</code></td> <td></td> </tr> <tr> <td>[gradientType]</td> <td><code>string</code></td> <td>Type of gradient. Allowed values: <code>'linear'</code> (default), <code>'path'</code>. With a path gradient, a path is drawn between the top, left, right, and bottom values and a graident is draw from that path to the outside of the cell.</td> </tr> <tr> <td>stops</td> <td><code>Array.<{}></code></td> <td></td> </tr> <tr> <td>stops[].position</td> <td><code>number</code></td> <td>The position of the stop from 0 to 1.</td> </tr> <tr> <td>stops[].color</td> <td><code>Color|string|number</code></td> <td>Color of the stop. If string, will set an RGB color. If number, will set a theme color.</td> </tr> <tr> <td>[angle]</td> <td><code>number</code></td> <td>If linear gradient, the angle of clockwise rotation of the gradient.</td> </tr> <tr> <td>[left]</td> <td><code>number</code></td> <td>If path gradient, the left position of the path as a percentage from 0 to 1.</td> </tr> <tr> <td>[right]</td> <td><code>number</code></td> <td>If path gradient, the right position of the path as a percentage from 0 to 1.</td> </tr> <tr> <td>[top]</td> <td><code>number</code></td> <td>If path gradient, the top position of the path as a percentage from 0 to 1.</td> </tr> <tr> <td>[bottom]</td> <td><code>number</code></td> <td>If path gradient, the bottom position of the path as a percentage from 0 to 1.</td> </tr> </tbody> </table> <h2><a id="user-content-api-reference" class="deep-link" href="#api-reference" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>API Reference</h2> <h3><a id="user-content-classes" class="deep-link" href="#classes" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Classes</h3> <dl> <dt><a href="#Cell" rel="nofollow">Cell</a></dt> <dd><p>A cell</p> </dd> <dt><a href="#Column" rel="nofollow">Column</a></dt> <dd><p>A column.</p> </dd> <dt><a href="#FormulaError" rel="nofollow">FormulaError</a></dt> <dd><p>A formula error (e.g. #DIV/0!).</p> </dd> <dt><a href="#PageBreaks" rel="nofollow">PageBreaks</a></dt> <dd><p>PageBreaks</p> </dd> <dt><a href="#Range" rel="nofollow">Range</a></dt> <dd><p>A range of cells.</p> </dd> <dt><a href="#RichText" rel="nofollow">RichText</a></dt> <dd><p>A RichText class that contains many <a href="#RichTextFragment" rel="nofollow">RichTextFragment</a>.</p> </dd> <dt><a href="#RichTextFragment" rel="nofollow">RichTextFragment</a></dt> <dd><p>A Rich text fragment.</p> </dd> <dt><a href="#Row" rel="nofollow">Row</a></dt> <dd><p>A row.</p> </dd> <dt><a href="#Sheet" rel="nofollow">Sheet</a></dt> <dd><p>A worksheet.</p> </dd> <dt><a href="#Workbook" rel="nofollow">Workbook</a></dt> <dd><p>A workbook.</p> </dd> </dl> <h3><a id="user-content-objects" class="deep-link" href="#objects" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Objects</h3> <dl> <dt><a href="#XlsxPopulate" rel="nofollow">XlsxPopulate</a> : <code>object</code></dt> <dd></dd> </dl> <h3><a id="user-content-constants" class="deep-link" href="#constants" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Constants</h3> <dl> <dt><a href="#_" rel="nofollow">_</a></dt> <dd><p>OOXML uses the CFB file format with Agile Encryption. The details of the encryption are here: <a href="https://msdn.microsoft.com/en-us/library/dd950165(v=office.12).aspx" rel="nofollow">https://msdn.microsoft.com/en-us/library/dd950165(v=office.12).aspx</a></p> <p>Helpful guidance also take from this Github project: <a href="https://github.com/nolze/ms-offcrypto-tool" rel="nofollow">https://github.com/nolze/ms-offcrypto-tool</a></p> </dd> </dl> <h3><a id="user-content-typedefs" class="deep-link" href="#typedefs" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Typedefs</h3> <dl> <dt><a href="#PaneOptions" rel="nofollow">PaneOptions</a> : <code>Object</code></dt> <dd><p><a href="https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.pane?view=openxml-2.8.1" rel="nofollow">https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.pane?view=openxml-2.8.1</a></p> </dd> </dl> <p><a name="Cell"></a></p> <h3><a id="user-content-cell" class="deep-link" href="#cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Cell</h3> <p>A cell</p> <p><strong>Kind</strong>: global class</p> <ul> <li><a href="#Cell" rel="nofollow">Cell</a> <ul> <li><em>instance</em> <ul> <li><a href="#Cell+active" rel="nofollow">.active()</a> ⇒ <code>boolean</code></li> <li><a href="#Cell+active" rel="nofollow">.active(active)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Cell+address" rel="nofollow">.address([opts])</a> ⇒ <code>string</code></li> <li><a href="#Cell+column" rel="nofollow">.column()</a> ⇒ <a href="#Column" rel="nofollow"><code>Column</code></a></li> <li><a href="#Cell+clear" rel="nofollow">.clear()</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Cell+columnName" rel="nofollow">.columnName()</a> ⇒ <code>string</code></li> <li><a href="#Cell+columnNumber" rel="nofollow">.columnNumber()</a> ⇒ <code>number</code></li> <li><a href="#Cell+find" rel="nofollow">.find(pattern, [replacement])</a> ⇒ <code>boolean</code></li> <li><a href="#Cell+formula" rel="nofollow">.formula()</a> ⇒ <code>string</code></li> <li><a href="#Cell+formula" rel="nofollow">.formula(formula)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Cell+hyperlink" rel="nofollow">.hyperlink()</a> ⇒ <code>string</code> | <code>undefined</code></li> <li><a href="#Cell+hyperlink" rel="nofollow">.hyperlink(hyperlink)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Cell+hyperlink" rel="nofollow">.hyperlink(opts)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Cell+dataValidation" rel="nofollow">.dataValidation()</a> ⇒ <code>object</code> | <code>undefined</code></li> <li><a href="#Cell+dataValidation" rel="nofollow">.dataValidation(dataValidation)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Cell+tap" rel="nofollow">.tap(callback)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Cell+thru" rel="nofollow">.thru(callback)</a> ⇒ <code>*</code></li> <li><a href="#Cell+rangeTo" rel="nofollow">.rangeTo(cell)</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Cell+relativeCell" rel="nofollow">.relativeCell(rowOffset, columnOffset)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Cell+row" rel="nofollow">.row()</a> ⇒ <a href="#Row" rel="nofollow"><code>Row</code></a></li> <li><a href="#Cell+rowNumber" rel="nofollow">.rowNumber()</a> ⇒ <code>number</code></li> <li><a href="#Cell+sheet" rel="nofollow">.sheet()</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Cell+style" rel="nofollow">.style(name)</a> ⇒ <code>*</code></li> <li><a href="#Cell+style" rel="nofollow">.style(names)</a> ⇒ <code>object.<string, *></code></li> <li><a href="#Cell+style" rel="nofollow">.style(name, value)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Cell+style" rel="nofollow">.style(name)</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Cell+style" rel="nofollow">.style(styles)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Cell+style" rel="nofollow">.style(style)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Cell+value" rel="nofollow">.value()</a> ⇒ <code>string</code> | <code>boolean</code> | <code>number</code> | <code>Date</code> | <a href="#RichText" rel="nofollow"><code>RichText</code></a> | <code>undefined</code></li> <li><a href="#Cell+value" rel="nofollow">.value(value)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Cell+value" rel="nofollow">.value()</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Cell+workbook" rel="nofollow">.workbook()</a> ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></li> <li><a href="#Cell+addHorizontalPageBreak" rel="nofollow">.addHorizontalPageBreak()</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> </ul> </li> <li><em>inner</em> <ul> <li><a href="#Cell..tapCallback" rel="nofollow">~tapCallback</a> ⇒ <code>undefined</code></li> <li><a href="#Cell..thruCallback" rel="nofollow">~thruCallback</a> ⇒ <code>*</code></li> </ul> </li> </ul> </li> </ul> <p><a name="Cell+active"></a></p> <h4><a id="user-content-cellactive-⇒-boolean" class="deep-link" href="#cellactive-⇒-boolean" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.active() ⇒ <code>boolean</code></h4> <p>Gets a value indicating whether the cell is the active cell in the sheet.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <code>boolean</code> - True if active, false otherwise.<br /> <a name="Cell+active"></a></p> <h4><a id="user-content-cellactiveactive-⇒-cell" class="deep-link" href="#cellactiveactive-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.active(active) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Make the cell the active cell in the sheet.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>active</td> <td><code>boolean</code></td> <td>Must be set to <code>true</code>. Deactivating directly is not supported. To deactivate, you should activate a different cell instead.</td> </tr> </tbody> </table> <p><a name="Cell+address"></a></p> <h4><a id="user-content-celladdressopts-⇒-string" class="deep-link" href="#celladdressopts-⇒-string" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.address([opts]) ⇒ <code>string</code></h4> <p>Get the address of the column.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <code>string</code> - The address</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>[opts]</td> <td><code>Object</code></td> <td>Options</td> </tr> <tr> <td>[opts.includeSheetName]</td> <td><code>boolean</code></td> <td>Include the sheet name in the address.</td> </tr> <tr> <td>[opts.rowAnchored]</td> <td><code>boolean</code></td> <td>Anchor the row.</td> </tr> <tr> <td>[opts.columnAnchored]</td> <td><code>boolean</code></td> <td>Anchor the column.</td> </tr> <tr> <td>[opts.anchored]</td> <td><code>boolean</code></td> <td>Anchor both the row and the column.</td> </tr> </tbody> </table> <p><a name="Cell+column"></a></p> <h4><a id="user-content-cellcolumn-⇒-column" class="deep-link" href="#cellcolumn-⇒-column" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.column() ⇒ <a href="#Column" rel="nofollow"><code>Column</code></a></h4> <p>Gets the parent column of the cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Column" rel="nofollow"><code>Column</code></a> - The parent column.<br /> <a name="Cell+clear"></a></p> <h4><a id="user-content-cellclear-⇒-cell" class="deep-link" href="#cellclear-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.clear() ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Clears the contents from the cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.<br /> <a name="Cell+columnName"></a></p> <h4><a id="user-content-cellcolumnname-⇒-string" class="deep-link" href="#cellcolumnname-⇒-string" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.columnName() ⇒ <code>string</code></h4> <p>Gets the column name of the cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <code>string</code> - The column name.<br /> <a name="Cell+columnNumber"></a></p> <h4><a id="user-content-cellcolumnnumber-⇒-number" class="deep-link" href="#cellcolumnnumber-⇒-number" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.columnNumber() ⇒ <code>number</code></h4> <p>Gets the column number of the cell (1-based).</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <code>number</code> - The column number.<br /> <a name="Cell+find"></a></p> <h4><a id="user-content-cellfindpattern-replacement-⇒-boolean" class="deep-link" href="#cellfindpattern-replacement-⇒-boolean" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.find(pattern, [replacement]) ⇒ <code>boolean</code></h4> <p>Find the given pattern in the cell and optionally replace it.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <code>boolean</code> - A flag indicating if the pattern was found.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>pattern</td> <td><code>string</code> | <code>RegExp</code></td> <td>The pattern to look for. Providing a string will result in a case-insensitive substring search. Use a RegExp for more sophisticated searches.</td> </tr> <tr> <td>[replacement]</td> <td><code>string</code> | <code>function</code></td> <td>The text to replace or a String.replace callback function. If pattern is a string, all occurrences of the pattern in the cell will be replaced.</td> </tr> </tbody> </table> <p><a name="Cell+formula"></a></p> <h4><a id="user-content-cellformula-⇒-string" class="deep-link" href="#cellformula-⇒-string" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.formula() ⇒ <code>string</code></h4> <p>Gets the formula in the cell. Note that if a formula was set as part of a range, the getter will return 'SHARED'. This is a limitation that may be addressed in a future release.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <code>string</code> - The formula in the cell.<br /> <a name="Cell+formula"></a></p> <h4><a id="user-content-cellformulaformula-⇒-cell" class="deep-link" href="#cellformulaformula-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.formula(formula) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Sets the formula in the cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>formula</td> <td><code>string</code></td> <td>The formula to set.</td> </tr> </tbody> </table> <p><a name="Cell+hyperlink"></a></p> <h4><a id="user-content-cellhyperlink-⇒-string--undefined" class="deep-link" href="#cellhyperlink-⇒-string--undefined" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.hyperlink() ⇒ <code>string</code> | <code>undefined</code></h4> <p>Gets the hyperlink attached to the cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <code>string</code> | <code>undefined</code> - The hyperlink or undefined if not set.<br /> <a name="Cell+hyperlink"></a></p> <h4><a id="user-content-cellhyperlinkhyperlink-⇒-cell" class="deep-link" href="#cellhyperlinkhyperlink-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.hyperlink(hyperlink) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Set or clear the hyperlink on the cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hyperlink</td> <td><code>string</code> | <a href="#Cell" rel="nofollow"><code>Cell</code></a> | <code>undefined</code></td> <td>The hyperlink to set or undefined to clear.</td> </tr> </tbody> </table> <p><a name="Cell+hyperlink"></a></p> <h4><a id="user-content-cellhyperlinkopts-⇒-cell" class="deep-link" href="#cellhyperlinkopts-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.hyperlink(opts) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Set the hyperlink options on the cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>opts</td> <td><code>Object</code> | <a href="#Cell" rel="nofollow"><code>Cell</code></a></td> <td>Options or Cell. If opts is a Cell then an internal hyperlink is added.</td> </tr> <tr> <td>[opts.hyperlink]</td> <td><code>string</code> | <a href="#Cell" rel="nofollow"><code>Cell</code></a></td> <td>The hyperlink to set, can be a Cell or an internal/external string.</td> </tr> <tr> <td>[opts.tooltip]</td> <td><code>string</code></td> <td>Additional text to help the user understand more about the hyperlink.</td> </tr> <tr> <td>[opts.email]</td> <td><code>string</code></td> <td>Email address, ignored if opts.hyperlink is set.</td> </tr> <tr> <td>[opts.emailSubject]</td> <td><code>string</code></td> <td>Email subject, ignored if opts.hyperlink is set.</td> </tr> </tbody> </table> <p><a name="Cell+dataValidation"></a></p> <h4><a id="user-content-celldatavalidation-⇒-object--undefined" class="deep-link" href="#celldatavalidation-⇒-object--undefined" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.dataValidation() ⇒ <code>object</code> | <code>undefined</code></h4> <p>Gets the data validation object attached to the cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <code>object</code> | <code>undefined</code> - The data validation or undefined if not set.<br /> <a name="Cell+dataValidation"></a></p> <h4><a id="user-content-celldatavalidationdatavalidation-⇒-cell" class="deep-link" href="#celldatavalidationdatavalidation-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.dataValidation(dataValidation) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Set or clear the data validation object of the cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>dataValidation</td> <td><code>object</code> | <code>undefined</code></td> <td>Object or null to clear.</td> </tr> </tbody> </table> <p><a name="Cell+tap"></a></p> <h4><a id="user-content-celltapcallback-⇒-cell" class="deep-link" href="#celltapcallback-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.tap(callback) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Invoke a callback on the cell and return the cell. Useful for method chaining.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>callback</td> <td><a href="#Cell..tapCallback" rel="nofollow"><code>tapCallback</code></a></td> <td>The callback function.</td> </tr> </tbody> </table> <p><a name="Cell+thru"></a></p> <h4><a id="user-content-cellthrucallback-⇒-" class="deep-link" href="#cellthrucallback-⇒-" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.thru(callback) ⇒ <code>*</code></h4> <p>Invoke a callback on the cell and return the value provided by the callback. Useful for method chaining.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <code>*</code> - The return value of the callback.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>callback</td> <td><a href="#Cell..thruCallback" rel="nofollow"><code>thruCallback</code></a></td> <td>The callback function.</td> </tr> </tbody> </table> <p><a name="Cell+rangeTo"></a></p> <h4><a id="user-content-cellrangetocell-⇒-range" class="deep-link" href="#cellrangetocell-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.rangeTo(cell) ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Create a range from this cell and another.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>cell</td> <td><a href="#Cell" rel="nofollow"><code>Cell</code></a> | <code>string</code></td> <td>The other cell or cell address to range to.</td> </tr> </tbody> </table> <p><a name="Cell+relativeCell"></a></p> <h4><a id="user-content-cellrelativecellrowoffset-columnoffset-⇒-cell" class="deep-link" href="#cellrelativecellrowoffset-columnoffset-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.relativeCell(rowOffset, columnOffset) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Returns a cell with a relative position given the offsets provided.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The relative cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>rowOffset</td> <td><code>number</code></td> <td>The row offset (0 for the current row).</td> </tr> <tr> <td>columnOffset</td> <td><code>number</code></td> <td>The column offset (0 for the current column).</td> </tr> </tbody> </table> <p><a name="Cell+row"></a></p> <h4><a id="user-content-cellrow-⇒-row" class="deep-link" href="#cellrow-⇒-row" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.row() ⇒ <a href="#Row" rel="nofollow"><code>Row</code></a></h4> <p>Gets the parent row of the cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Row" rel="nofollow"><code>Row</code></a> - The parent row.<br /> <a name="Cell+rowNumber"></a></p> <h4><a id="user-content-cellrownumber-⇒-number" class="deep-link" href="#cellrownumber-⇒-number" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.rowNumber() ⇒ <code>number</code></h4> <p>Gets the row number of the cell (1-based).</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <code>number</code> - The row number.<br /> <a name="Cell+sheet"></a></p> <h4><a id="user-content-cellsheet-⇒-sheet" class="deep-link" href="#cellsheet-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.sheet() ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Gets the parent sheet.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The parent sheet.<br /> <a name="Cell+style"></a></p> <h4><a id="user-content-cellstylename-⇒-" class="deep-link" href="#cellstylename-⇒-" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.style(name) ⇒ <code>*</code></h4> <p>Gets an individual style.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <code>*</code> - The style.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The name of the style.</td> </tr> </tbody> </table> <p><a name="Cell+style"></a></p> <h4><a id="user-content-cellstylenames-⇒-objectstring-" class="deep-link" href="#cellstylenames-⇒-objectstring-" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.style(names) ⇒ <code>object.<string, *></code></h4> <p>Gets multiple styles.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <code>object.<string, *></code> - Object whose keys are the style names and values are the styles.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>names</td> <td><code>Array.<string></code></td> <td>The names of the style.</td> </tr> </tbody> </table> <p><a name="Cell+style"></a></p> <h4><a id="user-content-cellstylename-value-⇒-cell" class="deep-link" href="#cellstylename-value-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.style(name, value) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Sets an individual style.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The name of the style.</td> </tr> <tr> <td>value</td> <td><code>*</code></td> <td>The value to set.</td> </tr> </tbody> </table> <p><a name="Cell+style"></a></p> <h4><a id="user-content-cellstylename-⇒-range" class="deep-link" href="#cellstylename-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.style(name) ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Sets the styles in the range starting with the cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range that was set.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The name of the style.</td> </tr> <tr> <td></td> <td><code>Array.<Array.<*>></code></td> <td>2D array of values to set.</td> </tr> </tbody> </table> <p><a name="Cell+style"></a></p> <h4><a id="user-content-cellstylestyles-⇒-cell" class="deep-link" href="#cellstylestyles-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.style(styles) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Sets multiple styles.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>styles</td> <td><code>object.<string, *></code></td> <td>Object whose keys are the style names and values are the styles to set.</td> </tr> </tbody> </table> <p><a name="Cell+style"></a></p> <h4><a id="user-content-cellstylestyle-⇒-cell" class="deep-link" href="#cellstylestyle-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.style(style) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Sets to a specific style</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>style</td> <td><a href="#new_Style_new" rel="nofollow"><code>Style</code></a></td> <td>Style object given from stylesheet.createStyle</td> </tr> </tbody> </table> <p><a name="Cell+value"></a></p> <h4><a id="user-content-cellvalue-⇒-string--boolean--number--date--richtext--undefined" class="deep-link" href="#cellvalue-⇒-string--boolean--number--date--richtext--undefined" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.value() ⇒ <code>string</code> | <code>boolean</code> | <code>number</code> | <code>Date</code> | <a href="#RichText" rel="nofollow"><code>RichText</code></a> | <code>undefined</code></h4> <p>Gets the value of the cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <code>string</code> | <code>boolean</code> | <code>number</code> | <code>Date</code> | <a href="#RichText" rel="nofollow"><code>RichText</code></a> | <code>undefined</code> - The value of the cell.<br /> <a name="Cell+value"></a></p> <h4><a id="user-content-cellvaluevalue-⇒-cell" class="deep-link" href="#cellvaluevalue-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.value(value) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Sets the value of the cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>value</td> <td><code>string</code> | <code>boolean</code> | <code>number</code> | <code>null</code> | <code>undefined</code> | <a href="#RichText" rel="nofollow"><code>RichText</code></a></td> <td>The value to set.</td> </tr> </tbody> </table> <p><a name="Cell+value"></a></p> <h4><a id="user-content-cellvalue-⇒-range" class="deep-link" href="#cellvalue-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.value() ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Sets the values in the range starting with the cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range that was set.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td></td> <td><code>Array.<Array.<(string|boolean|number|null|undefined)>></code></td> <td>2D array of values to set.</td> </tr> </tbody> </table> <p><a name="Cell+workbook"></a></p> <h4><a id="user-content-cellworkbook-⇒-workbook" class="deep-link" href="#cellworkbook-⇒-workbook" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.workbook() ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></h4> <p>Gets the parent workbook.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Workbook" rel="nofollow"><code>Workbook</code></a> - The parent workbook.<br /> <a name="Cell+addHorizontalPageBreak"></a></p> <h4><a id="user-content-celladdhorizontalpagebreak-⇒-cell" class="deep-link" href="#celladdhorizontalpagebreak-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>cell.addHorizontalPageBreak() ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Append horizontal page break after the cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - the cell.<br /> <a name="Cell..tapCallback"></a></p> <h4><a id="user-content-celltapcallback-⇒-undefined" class="deep-link" href="#celltapcallback-⇒-undefined" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Cell~tapCallback ⇒ <code>undefined</code></h4> <p>Callback used by tap.</p> <p><strong>Kind</strong>: inner typedef of <a href="#Cell" rel="nofollow"><code>Cell</code></a></p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>cell</td> <td><a href="#Cell" rel="nofollow"><code>Cell</code></a></td> <td>The cell</td> </tr> </tbody> </table> <p><a name="Cell..thruCallback"></a></p> <h4><a id="user-content-cellthrucallback-⇒--1" class="deep-link" href="#cellthrucallback-⇒--1" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Cell~thruCallback ⇒ <code>*</code></h4> <p>Callback used by thru.</p> <p><strong>Kind</strong>: inner typedef of <a href="#Cell" rel="nofollow"><code>Cell</code></a><br /> <strong>Returns</strong>: <code>*</code> - The value to return from thru.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>cell</td> <td><a href="#Cell" rel="nofollow"><code>Cell</code></a></td> <td>The cell</td> </tr> </tbody> </table> <p><a name="Column"></a></p> <h3><a id="user-content-column" class="deep-link" href="#column" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Column</h3> <p>A column.</p> <p><strong>Kind</strong>: global class</p> <ul> <li><a href="#Column" rel="nofollow">Column</a> <ul> <li><a href="#Column+address" rel="nofollow">.address([opts])</a> ⇒ <code>string</code></li> <li><a href="#Column+cell" rel="nofollow">.cell(rowNumber)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Column+columnName" rel="nofollow">.columnName()</a> ⇒ <code>string</code></li> <li><a href="#Column+columnNumber" rel="nofollow">.columnNumber()</a> ⇒ <code>number</code></li> <li><a href="#Column+hidden" rel="nofollow">.hidden()</a> ⇒ <code>boolean</code></li> <li><a href="#Column+hidden" rel="nofollow">.hidden(hidden)</a> ⇒ <a href="#Column" rel="nofollow"><code>Column</code></a></li> <li><a href="#Column+sheet" rel="nofollow">.sheet()</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Column+style" rel="nofollow">.style(name)</a> ⇒ <code>*</code></li> <li><a href="#Column+style" rel="nofollow">.style(names)</a> ⇒ <code>object.<string, *></code></li> <li><a href="#Column+style" rel="nofollow">.style(name, value)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Column+style" rel="nofollow">.style(styles)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Column+style" rel="nofollow">.style(style)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Column+width" rel="nofollow">.width()</a> ⇒ <code>undefined</code> | <code>number</code></li> <li><a href="#Column+width" rel="nofollow">.width(width)</a> ⇒ <a href="#Column" rel="nofollow"><code>Column</code></a></li> <li><a href="#Column+workbook" rel="nofollow">.workbook()</a> ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></li> <li><a href="#Column+addPageBreak" rel="nofollow">.addPageBreak()</a> ⇒ <a href="#Column" rel="nofollow"><code>Column</code></a></li> </ul> </li> </ul> <p><a name="Column+address"></a></p> <h4><a id="user-content-columnaddressopts-⇒-string" class="deep-link" href="#columnaddressopts-⇒-string" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>column.address([opts]) ⇒ <code>string</code></h4> <p>Get the address of the column.</p> <p><strong>Kind</strong>: instance method of <a href="#Column" rel="nofollow"><code>Column</code></a><br /> <strong>Returns</strong>: <code>string</code> - The address</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>[opts]</td> <td><code>Object</code></td> <td>Options</td> </tr> <tr> <td>[opts.includeSheetName]</td> <td><code>boolean</code></td> <td>Include the sheet name in the address.</td> </tr> <tr> <td>[opts.anchored]</td> <td><code>boolean</code></td> <td>Anchor the address.</td> </tr> </tbody> </table> <p><a name="Column+cell"></a></p> <h4><a id="user-content-columncellrownumber-⇒-cell" class="deep-link" href="#columncellrownumber-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>column.cell(rowNumber) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Get a cell within the column.</p> <p><strong>Kind</strong>: instance method of <a href="#Column" rel="nofollow"><code>Column</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell in the column with the given row number.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>rowNumber</td> <td><code>number</code></td> <td>The row number.</td> </tr> </tbody> </table> <p><a name="Column+columnName"></a></p> <h4><a id="user-content-columncolumnname-⇒-string" class="deep-link" href="#columncolumnname-⇒-string" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>column.columnName() ⇒ <code>string</code></h4> <p>Get the name of the column.</p> <p><strong>Kind</strong>: instance method of <a href="#Column" rel="nofollow"><code>Column</code></a><br /> <strong>Returns</strong>: <code>string</code> - The column name.<br /> <a name="Column+columnNumber"></a></p> <h4><a id="user-content-columncolumnnumber-⇒-number" class="deep-link" href="#columncolumnnumber-⇒-number" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>column.columnNumber() ⇒ <code>number</code></h4> <p>Get the number of the column.</p> <p><strong>Kind</strong>: instance method of <a href="#Column" rel="nofollow"><code>Column</code></a><br /> <strong>Returns</strong>: <code>number</code> - The column number.<br /> <a name="Column+hidden"></a></p> <h4><a id="user-content-columnhidden-⇒-boolean" class="deep-link" href="#columnhidden-⇒-boolean" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>column.hidden() ⇒ <code>boolean</code></h4> <p>Gets a value indicating whether the column is hidden.</p> <p><strong>Kind</strong>: instance method of <a href="#Column" rel="nofollow"><code>Column</code></a><br /> <strong>Returns</strong>: <code>boolean</code> - A flag indicating whether the column is hidden.<br /> <a name="Column+hidden"></a></p> <h4><a id="user-content-columnhiddenhidden-⇒-column" class="deep-link" href="#columnhiddenhidden-⇒-column" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>column.hidden(hidden) ⇒ <a href="#Column" rel="nofollow"><code>Column</code></a></h4> <p>Sets whether the column is hidden.</p> <p><strong>Kind</strong>: instance method of <a href="#Column" rel="nofollow"><code>Column</code></a><br /> <strong>Returns</strong>: <a href="#Column" rel="nofollow"><code>Column</code></a> - The column.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hidden</td> <td><code>boolean</code></td> <td>A flag indicating whether to hide the column.</td> </tr> </tbody> </table> <p><a name="Column+sheet"></a></p> <h4><a id="user-content-columnsheet-⇒-sheet" class="deep-link" href="#columnsheet-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>column.sheet() ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Get the parent sheet.</p> <p><strong>Kind</strong>: instance method of <a href="#Column" rel="nofollow"><code>Column</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The parent sheet.<br /> <a name="Column+style"></a></p> <h4><a id="user-content-columnstylename-⇒-" class="deep-link" href="#columnstylename-⇒-" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>column.style(name) ⇒ <code>*</code></h4> <p>Gets an individual style.</p> <p><strong>Kind</strong>: instance method of <a href="#Column" rel="nofollow"><code>Column</code></a><br /> <strong>Returns</strong>: <code>*</code> - The style.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The name of the style.</td> </tr> </tbody> </table> <p><a name="Column+style"></a></p> <h4><a id="user-content-columnstylenames-⇒-objectstring-" class="deep-link" href="#columnstylenames-⇒-objectstring-" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>column.style(names) ⇒ <code>object.<string, *></code></h4> <p>Gets multiple styles.</p> <p><strong>Kind</strong>: instance method of <a href="#Column" rel="nofollow"><code>Column</code></a><br /> <strong>Returns</strong>: <code>object.<string, *></code> - Object whose keys are the style names and values are the styles.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>names</td> <td><code>Array.<string></code></td> <td>The names of the style.</td> </tr> </tbody> </table> <p><a name="Column+style"></a></p> <h4><a id="user-content-columnstylename-value-⇒-cell" class="deep-link" href="#columnstylename-value-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>column.style(name, value) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Sets an individual style.</p> <p><strong>Kind</strong>: instance method of <a href="#Column" rel="nofollow"><code>Column</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The name of the style.</td> </tr> <tr> <td>value</td> <td><code>*</code></td> <td>The value to set.</td> </tr> </tbody> </table> <p><a name="Column+style"></a></p> <h4><a id="user-content-columnstylestyles-⇒-cell" class="deep-link" href="#columnstylestyles-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>column.style(styles) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Sets multiple styles.</p> <p><strong>Kind</strong>: instance method of <a href="#Column" rel="nofollow"><code>Column</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>styles</td> <td><code>object.<string, *></code></td> <td>Object whose keys are the style names and values are the styles to set.</td> </tr> </tbody> </table> <p><a name="Column+style"></a></p> <h4><a id="user-content-columnstylestyle-⇒-cell" class="deep-link" href="#columnstylestyle-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>column.style(style) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Sets to a specific style</p> <p><strong>Kind</strong>: instance method of <a href="#Column" rel="nofollow"><code>Column</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>style</td> <td><a href="#new_Style_new" rel="nofollow"><code>Style</code></a></td> <td>Style object given from stylesheet.createStyle</td> </tr> </tbody> </table> <p><a name="Column+width"></a></p> <h4><a id="user-content-columnwidth-⇒-undefined--number" class="deep-link" href="#columnwidth-⇒-undefined--number" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>column.width() ⇒ <code>undefined</code> | <code>number</code></h4> <p>Gets the width.</p> <p><strong>Kind</strong>: instance method of <a href="#Column" rel="nofollow"><code>Column</code></a><br /> <strong>Returns</strong>: <code>undefined</code> | <code>number</code> - The width (or undefined).<br /> <a name="Column+width"></a></p> <h4><a id="user-content-columnwidthwidth-⇒-column" class="deep-link" href="#columnwidthwidth-⇒-column" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>column.width(width) ⇒ <a href="#Column" rel="nofollow"><code>Column</code></a></h4> <p>Sets the width.</p> <p><strong>Kind</strong>: instance method of <a href="#Column" rel="nofollow"><code>Column</code></a><br /> <strong>Returns</strong>: <a href="#Column" rel="nofollow"><code>Column</code></a> - The column.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>width</td> <td><code>number</code></td> <td>The width of the column.</td> </tr> </tbody> </table> <p><a name="Column+workbook"></a></p> <h4><a id="user-content-columnworkbook-⇒-workbook" class="deep-link" href="#columnworkbook-⇒-workbook" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>column.workbook() ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></h4> <p>Get the parent workbook.</p> <p><strong>Kind</strong>: instance method of <a href="#Column" rel="nofollow"><code>Column</code></a><br /> <strong>Returns</strong>: <a href="#Workbook" rel="nofollow"><code>Workbook</code></a> - The parent workbook.<br /> <a name="Column+addPageBreak"></a></p> <h4><a id="user-content-columnaddpagebreak-⇒-column" class="deep-link" href="#columnaddpagebreak-⇒-column" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>column.addPageBreak() ⇒ <a href="#Column" rel="nofollow"><code>Column</code></a></h4> <p>Append vertical page break after the column.</p> <p><strong>Kind</strong>: instance method of <a href="#Column" rel="nofollow"><code>Column</code></a><br /> <strong>Returns</strong>: <a href="#Column" rel="nofollow"><code>Column</code></a> - the column.<br /> <a name="FormulaError"></a></p> <h3><a id="user-content-formulaerror" class="deep-link" href="#formulaerror" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>FormulaError</h3> <p>A formula error (e.g. #DIV/0!).</p> <p><strong>Kind</strong>: global class</p> <ul> <li><a href="#FormulaError" rel="nofollow">FormulaError</a> <ul> <li><em>instance</em> <ul> <li><a href="#FormulaError+error" rel="nofollow">.error()</a> ⇒ <code>string</code></li> </ul> </li> <li><em>static</em> <ul> <li><a href="#FormulaError.DIV0" rel="nofollow">.DIV0</a> : <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a></li> <li><a href="#FormulaError.NA" rel="nofollow">.NA</a> : <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a></li> <li><a href="#FormulaError.NAME" rel="nofollow">.NAME</a> : <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a></li> <li><a href="#FormulaError.NULL" rel="nofollow">.NULL</a> : <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a></li> <li><a href="#FormulaError.NUM" rel="nofollow">.NUM</a> : <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a></li> <li><a href="#FormulaError.REF" rel="nofollow">.REF</a> : <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a></li> <li><a href="#FormulaError.VALUE" rel="nofollow">.VALUE</a> : <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a></li> </ul> </li> </ul> </li> </ul> <p><a name="FormulaError+error"></a></p> <h4><a id="user-content-formulaerrorerror-⇒-string" class="deep-link" href="#formulaerrorerror-⇒-string" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>formulaError.error() ⇒ <code>string</code></h4> <p>Get the error code.</p> <p><strong>Kind</strong>: instance method of <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a><br /> <strong>Returns</strong>: <code>string</code> - The error code.<br /> <a name="FormulaError.DIV0"></a></p> <h4><a id="user-content-formulaerrordiv0--formulaerror" class="deep-link" href="#formulaerrordiv0--formulaerror" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>FormulaError.DIV0 : <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a></h4> <p>#DIV/0! error.</p> <p><strong>Kind</strong>: static property of <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a><br /> <a name="FormulaError.NA"></a></p> <h4><a id="user-content-formulaerrorna--formulaerror" class="deep-link" href="#formulaerrorna--formulaerror" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>FormulaError.NA : <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a></h4> <p>#N/A error.</p> <p><strong>Kind</strong>: static property of <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a><br /> <a name="FormulaError.NAME"></a></p> <h4><a id="user-content-formulaerrorname--formulaerror" class="deep-link" href="#formulaerrorname--formulaerror" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>FormulaError.NAME : <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a></h4> <p>#NAME? error.</p> <p><strong>Kind</strong>: static property of <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a><br /> <a name="FormulaError.NULL"></a></p> <h4><a id="user-content-formulaerrornull--formulaerror" class="deep-link" href="#formulaerrornull--formulaerror" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>FormulaError.NULL : <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a></h4> <p>#NULL! error.</p> <p><strong>Kind</strong>: static property of <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a><br /> <a name="FormulaError.NUM"></a></p> <h4><a id="user-content-formulaerrornum--formulaerror" class="deep-link" href="#formulaerrornum--formulaerror" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>FormulaError.NUM : <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a></h4> <p>#NUM! error.</p> <p><strong>Kind</strong>: static property of <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a><br /> <a name="FormulaError.REF"></a></p> <h4><a id="user-content-formulaerrorref--formulaerror" class="deep-link" href="#formulaerrorref--formulaerror" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>FormulaError.REF : <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a></h4> <p>#REF! error.</p> <p><strong>Kind</strong>: static property of <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a><br /> <a name="FormulaError.VALUE"></a></p> <h4><a id="user-content-formulaerrorvalue--formulaerror" class="deep-link" href="#formulaerrorvalue--formulaerror" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>FormulaError.VALUE : <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a></h4> <p>#VALUE! error.</p> <p><strong>Kind</strong>: static property of <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a><br /> <a name="PageBreaks"></a></p> <h3><a id="user-content-pagebreaks" class="deep-link" href="#pagebreaks" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>PageBreaks</h3> <p>PageBreaks</p> <p><strong>Kind</strong>: global class</p> <ul> <li><a href="#PageBreaks" rel="nofollow">PageBreaks</a> <ul> <li><a href="#PageBreaks+count" rel="nofollow">.count</a> ⇒ <code>number</code></li> <li><a href="#PageBreaks+list" rel="nofollow">.list</a> ⇒ <code>Array</code></li> <li><a href="#PageBreaks+add" rel="nofollow">.add(id)</a> ⇒ <a href="#PageBreaks" rel="nofollow"><code>PageBreaks</code></a></li> <li><a href="#PageBreaks+remove" rel="nofollow">.remove(index)</a> ⇒ <a href="#PageBreaks" rel="nofollow"><code>PageBreaks</code></a></li> </ul> </li> </ul> <p><a name="PageBreaks+count"></a></p> <h4><a id="user-content-pagebreakscount-⇒-number" class="deep-link" href="#pagebreakscount-⇒-number" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>pageBreaks.count ⇒ <code>number</code></h4> <p>get count of the page-breaks</p> <p><strong>Kind</strong>: instance property of <a href="#PageBreaks" rel="nofollow"><code>PageBreaks</code></a><br /> <strong>Returns</strong>: <code>number</code> - the page-breaks' count<br /> <a name="PageBreaks+list"></a></p> <h4><a id="user-content-pagebreakslist-⇒-array" class="deep-link" href="#pagebreakslist-⇒-array" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>pageBreaks.list ⇒ <code>Array</code></h4> <p>get list of page-breaks</p> <p><strong>Kind</strong>: instance property of <a href="#PageBreaks" rel="nofollow"><code>PageBreaks</code></a><br /> <strong>Returns</strong>: <code>Array</code> - list of the page-breaks<br /> <a name="PageBreaks+add"></a></p> <h4><a id="user-content-pagebreaksaddid-⇒-pagebreaks" class="deep-link" href="#pagebreaksaddid-⇒-pagebreaks" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>pageBreaks.add(id) ⇒ <a href="#PageBreaks" rel="nofollow"><code>PageBreaks</code></a></h4> <p>add page-breaks by row/column id</p> <p><strong>Kind</strong>: instance method of <a href="#PageBreaks" rel="nofollow"><code>PageBreaks</code></a><br /> <strong>Returns</strong>: <a href="#PageBreaks" rel="nofollow"><code>PageBreaks</code></a> - the page-breaks</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>id</td> <td><code>number</code></td> <td>row/column id (rowNumber/colNumber)</td> </tr> </tbody> </table> <p><a name="PageBreaks+remove"></a></p> <h4><a id="user-content-pagebreaksremoveindex-⇒-pagebreaks" class="deep-link" href="#pagebreaksremoveindex-⇒-pagebreaks" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>pageBreaks.remove(index) ⇒ <a href="#PageBreaks" rel="nofollow"><code>PageBreaks</code></a></h4> <p>remove page-breaks by index</p> <p><strong>Kind</strong>: instance method of <a href="#PageBreaks" rel="nofollow"><code>PageBreaks</code></a><br /> <strong>Returns</strong>: <a href="#PageBreaks" rel="nofollow"><code>PageBreaks</code></a> - the page-breaks</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>index</td> <td><code>number</code></td> <td>index of list</td> </tr> </tbody> </table> <p><a name="Range"></a></p> <h3><a id="user-content-range" class="deep-link" href="#range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Range</h3> <p>A range of cells.</p> <p><strong>Kind</strong>: global class</p> <ul> <li><a href="#Range" rel="nofollow">Range</a> <ul> <li><em>instance</em> <ul> <li><a href="#Range+address" rel="nofollow">.address([opts])</a> ⇒ <code>string</code></li> <li><a href="#Range+cell" rel="nofollow">.cell(ri, ci)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Range+autoFilter" rel="nofollow">.autoFilter()</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Range+cells" rel="nofollow">.cells()</a> ⇒ <code>Array.<Array.<Cell>></code></li> <li><a href="#Range+clear" rel="nofollow">.clear()</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Range+endCell" rel="nofollow">.endCell()</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Range+forEach" rel="nofollow">.forEach(callback)</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Range+formula" rel="nofollow">.formula()</a> ⇒ <code>string</code> | <code>undefined</code></li> <li><a href="#Range+formula" rel="nofollow">.formula(formula)</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Range+map" rel="nofollow">.map(callback)</a> ⇒ <code>Array.<Array.<*>></code></li> <li><a href="#Range+merged" rel="nofollow">.merged()</a> ⇒ <code>boolean</code></li> <li><a href="#Range+merged" rel="nofollow">.merged(merged)</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Range+dataValidation" rel="nofollow">.dataValidation()</a> ⇒ <code>object</code> | <code>undefined</code></li> <li><a href="#Range+dataValidation" rel="nofollow">.dataValidation(dataValidation)</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Range+reduce" rel="nofollow">.reduce(callback, [initialValue])</a> ⇒ <code>*</code></li> <li><a href="#Range+sheet" rel="nofollow">.sheet()</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Range+startCell" rel="nofollow">.startCell()</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Range+style" rel="nofollow">.style(name)</a> ⇒ <code>Array.<Array.<*>></code></li> <li><a href="#Range+style" rel="nofollow">.style(names)</a> ⇒ <code>Object.<string, Array.<Array.<*>>></code></li> <li><a href="#Range+style" rel="nofollow">.style(name, callback)</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Range+style" rel="nofollow">.style(name, values)</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Range+style" rel="nofollow">.style(name, value)</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Range+style" rel="nofollow">.style(styles)</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Range+style" rel="nofollow">.style(style)</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Range+tap" rel="nofollow">.tap(callback)</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Range+thru" rel="nofollow">.thru(callback)</a> ⇒ <code>*</code></li> <li><a href="#Range+value" rel="nofollow">.value()</a> ⇒ <code>Array.<Array.<*>></code></li> <li><a href="#Range+value" rel="nofollow">.value(callback)</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Range+value" rel="nofollow">.value(values)</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Range+value" rel="nofollow">.value(value)</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Range+workbook" rel="nofollow">.workbook()</a> ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></li> </ul> </li> <li><em>inner</em> <ul> <li><a href="#Range..forEachCallback" rel="nofollow">~forEachCallback</a> ⇒ <code>undefined</code></li> <li><a href="#Range..mapCallback" rel="nofollow">~mapCallback</a> ⇒ <code>*</code></li> <li><a href="#Range..reduceCallback" rel="nofollow">~reduceCallback</a> ⇒ <code>*</code></li> <li><a href="#Range..tapCallback" rel="nofollow">~tapCallback</a> ⇒ <code>undefined</code></li> <li><a href="#Range..thruCallback" rel="nofollow">~thruCallback</a> ⇒ <code>*</code></li> </ul> </li> </ul> </li> </ul> <p><a name="Range+address"></a></p> <h4><a id="user-content-rangeaddressopts-⇒-string" class="deep-link" href="#rangeaddressopts-⇒-string" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.address([opts]) ⇒ <code>string</code></h4> <p>Get the address of the range.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <code>string</code> - The address.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>[opts]</td> <td><code>Object</code></td> <td>Options</td> </tr> <tr> <td>[opts.includeSheetName]</td> <td><code>boolean</code></td> <td>Include the sheet name in the address.</td> </tr> <tr> <td>[opts.startRowAnchored]</td> <td><code>boolean</code></td> <td>Anchor the start row.</td> </tr> <tr> <td>[opts.startColumnAnchored]</td> <td><code>boolean</code></td> <td>Anchor the start column.</td> </tr> <tr> <td>[opts.endRowAnchored]</td> <td><code>boolean</code></td> <td>Anchor the end row.</td> </tr> <tr> <td>[opts.endColumnAnchored]</td> <td><code>boolean</code></td> <td>Anchor the end column.</td> </tr> <tr> <td>[opts.anchored]</td> <td><code>boolean</code></td> <td>Anchor all row and columns.</td> </tr> </tbody> </table> <p><a name="Range+cell"></a></p> <h4><a id="user-content-rangecellri-ci-⇒-cell" class="deep-link" href="#rangecellri-ci-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.cell(ri, ci) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Gets a cell within the range.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>ri</td> <td><code>number</code></td> <td>Row index relative to the top-left corner of the range (0-based).</td> </tr> <tr> <td>ci</td> <td><code>number</code></td> <td>Column index relative to the top-left corner of the range (0-based).</td> </tr> </tbody> </table> <p><a name="Range+autoFilter"></a></p> <h4><a id="user-content-rangeautofilter-⇒-range" class="deep-link" href="#rangeautofilter-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.autoFilter() ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Sets sheet autoFilter to this range.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - This range.<br /> <a name="Range+cells"></a></p> <h4><a id="user-content-rangecells-⇒-arrayarraycell" class="deep-link" href="#rangecells-⇒-arrayarraycell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.cells() ⇒ <code>Array.<Array.<Cell>></code></h4> <p>Get the cells in the range as a 2D array.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <code>Array.<Array.<Cell>></code> - The cells.<br /> <a name="Range+clear"></a></p> <h4><a id="user-content-rangeclear-⇒-range" class="deep-link" href="#rangeclear-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.clear() ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Clear the contents of all the cells in the range.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range.<br /> <a name="Range+endCell"></a></p> <h4><a id="user-content-rangeendcell-⇒-cell" class="deep-link" href="#rangeendcell-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.endCell() ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Get the end cell of the range.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The end cell.<br /> <a name="Range+forEach"></a></p> <h4><a id="user-content-rangeforeachcallback-⇒-range" class="deep-link" href="#rangeforeachcallback-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.forEach(callback) ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Call a function for each cell in the range. Goes by row then column.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>callback</td> <td><a href="#Range..forEachCallback" rel="nofollow"><code>forEachCallback</code></a></td> <td>Function called for each cell in the range.</td> </tr> </tbody> </table> <p><a name="Range+formula"></a></p> <h4><a id="user-content-rangeformula-⇒-string--undefined" class="deep-link" href="#rangeformula-⇒-string--undefined" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.formula() ⇒ <code>string</code> | <code>undefined</code></h4> <p>Gets the shared formula in the start cell (assuming it's the source of the shared formula).</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <code>string</code> | <code>undefined</code> - The shared formula.<br /> <a name="Range+formula"></a></p> <h4><a id="user-content-rangeformulaformula-⇒-range" class="deep-link" href="#rangeformulaformula-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.formula(formula) ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Sets the shared formula in the range. The formula will be translated for each cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>formula</td> <td><code>string</code></td> <td>The formula to set.</td> </tr> </tbody> </table> <p><a name="Range+map"></a></p> <h4><a id="user-content-rangemapcallback-⇒-arrayarray" class="deep-link" href="#rangemapcallback-⇒-arrayarray" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.map(callback) ⇒ <code>Array.<Array.<*>></code></h4> <p>Creates a 2D array of values by running each cell through a callback.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <code>Array.<Array.<*>></code> - The 2D array of return values.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>callback</td> <td><a href="#Range..mapCallback" rel="nofollow"><code>mapCallback</code></a></td> <td>Function called for each cell in the range.</td> </tr> </tbody> </table> <p><a name="Range+merged"></a></p> <h4><a id="user-content-rangemerged-⇒-boolean" class="deep-link" href="#rangemerged-⇒-boolean" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.merged() ⇒ <code>boolean</code></h4> <p>Gets a value indicating whether the cells in the range are merged.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <code>boolean</code> - The value.<br /> <a name="Range+merged"></a></p> <h4><a id="user-content-rangemergedmerged-⇒-range" class="deep-link" href="#rangemergedmerged-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.merged(merged) ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Sets a value indicating whether the cells in the range should be merged.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>merged</td> <td><code>boolean</code></td> <td>True to merge, false to unmerge.</td> </tr> </tbody> </table> <p><a name="Range+dataValidation"></a></p> <h4><a id="user-content-rangedatavalidation-⇒-object--undefined" class="deep-link" href="#rangedatavalidation-⇒-object--undefined" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.dataValidation() ⇒ <code>object</code> | <code>undefined</code></h4> <p>Gets the data validation object attached to the Range.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <code>object</code> | <code>undefined</code> - The data validation object or undefined if not set.<br /> <a name="Range+dataValidation"></a></p> <h4><a id="user-content-rangedatavalidationdatavalidation-⇒-range" class="deep-link" href="#rangedatavalidationdatavalidation-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.dataValidation(dataValidation) ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Set or clear the data validation object of the entire range.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>dataValidation</td> <td><code>object</code> | <code>undefined</code></td> <td>Object or null to clear.</td> </tr> </tbody> </table> <p><a name="Range+reduce"></a></p> <h4><a id="user-content-rangereducecallback-initialvalue-⇒-" class="deep-link" href="#rangereducecallback-initialvalue-⇒-" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.reduce(callback, [initialValue]) ⇒ <code>*</code></h4> <p>Reduces the range to a single value accumulated from the result of a function called for each cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <code>*</code> - The accumulated value.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>callback</td> <td><a href="#Range..reduceCallback" rel="nofollow"><code>reduceCallback</code></a></td> <td>Function called for each cell in the range.</td> </tr> <tr> <td>[initialValue]</td> <td><code>*</code></td> <td>The initial value.</td> </tr> </tbody> </table> <p><a name="Range+sheet"></a></p> <h4><a id="user-content-rangesheet-⇒-sheet" class="deep-link" href="#rangesheet-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.sheet() ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Gets the parent sheet of the range.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The parent sheet.<br /> <a name="Range+startCell"></a></p> <h4><a id="user-content-rangestartcell-⇒-cell" class="deep-link" href="#rangestartcell-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.startCell() ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Gets the start cell of the range.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The start cell.<br /> <a name="Range+style"></a></p> <h4><a id="user-content-rangestylename-⇒-arrayarray" class="deep-link" href="#rangestylename-⇒-arrayarray" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.style(name) ⇒ <code>Array.<Array.<*>></code></h4> <p>Gets a single style for each cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <code>Array.<Array.<*>></code> - 2D array of style values.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The name of the style.</td> </tr> </tbody> </table> <p><a name="Range+style"></a></p> <h4><a id="user-content-rangestylenames-⇒-objectstring-arrayarray" class="deep-link" href="#rangestylenames-⇒-objectstring-arrayarray" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.style(names) ⇒ <code>Object.<string, Array.<Array.<*>>></code></h4> <p>Gets multiple styles for each cell.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <code>Object.<string, Array.<Array.<*>>></code> - Object whose keys are style names and values are 2D arrays of style values.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>names</td> <td><code>Array.<string></code></td> <td>The names of the styles.</td> </tr> </tbody> </table> <p><a name="Range+style"></a></p> <h4><a id="user-content-rangestylename-callback-⇒-range" class="deep-link" href="#rangestylename-callback-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.style(name, callback) ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Set the style in each cell to the result of a function called for each.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The name of the style.</td> </tr> <tr> <td>callback</td> <td><a href="#Range..mapCallback" rel="nofollow"><code>mapCallback</code></a></td> <td>The callback to provide value for the cell.</td> </tr> </tbody> </table> <p><a name="Range+style"></a></p> <h4><a id="user-content-rangestylename-values-⇒-range" class="deep-link" href="#rangestylename-values-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.style(name, values) ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Sets the style in each cell to the corresponding value in the given 2D array of values.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The name of the style.</td> </tr> <tr> <td>values</td> <td><code>Array.<Array.<*>></code></td> <td>The style values to set.</td> </tr> </tbody> </table> <p><a name="Range+style"></a></p> <h4><a id="user-content-rangestylename-value-⇒-range" class="deep-link" href="#rangestylename-value-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.style(name, value) ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Set the style of all cells in the range to a single style value.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The name of the style.</td> </tr> <tr> <td>value</td> <td><code>*</code></td> <td>The value to set.</td> </tr> </tbody> </table> <p><a name="Range+style"></a></p> <h4><a id="user-content-rangestylestyles-⇒-range" class="deep-link" href="#rangestylestyles-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.style(styles) ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Set multiple styles for the cells in the range.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>styles</td> <td><code>object.<string, (Range~mapCallback|Array.<Array.<*>>|*)></code></td> <td>Object whose keys are style names and values are either function callbacks, 2D arrays of style values, or a single value for all the cells.</td> </tr> </tbody> </table> <p><a name="Range+style"></a></p> <h4><a id="user-content-rangestylestyle-⇒-range" class="deep-link" href="#rangestylestyle-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.style(style) ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Sets to a specific style</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>style</td> <td><a href="#new_Style_new" rel="nofollow"><code>Style</code></a></td> <td>Style object given from stylesheet.createStyle</td> </tr> </tbody> </table> <p><a name="Range+tap"></a></p> <h4><a id="user-content-rangetapcallback-⇒-range" class="deep-link" href="#rangetapcallback-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.tap(callback) ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Invoke a callback on the range and return the range. Useful for method chaining.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>callback</td> <td><a href="#Range..tapCallback" rel="nofollow"><code>tapCallback</code></a></td> <td>The callback function.</td> </tr> </tbody> </table> <p><a name="Range+thru"></a></p> <h4><a id="user-content-rangethrucallback-⇒-" class="deep-link" href="#rangethrucallback-⇒-" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.thru(callback) ⇒ <code>*</code></h4> <p>Invoke a callback on the range and return the value provided by the callback. Useful for method chaining.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <code>*</code> - The return value of the callback.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>callback</td> <td><a href="#Range..thruCallback" rel="nofollow"><code>thruCallback</code></a></td> <td>The callback function.</td> </tr> </tbody> </table> <p><a name="Range+value"></a></p> <h4><a id="user-content-rangevalue-⇒-arrayarray" class="deep-link" href="#rangevalue-⇒-arrayarray" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.value() ⇒ <code>Array.<Array.<*>></code></h4> <p>Get the values of each cell in the range as a 2D array.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <code>Array.<Array.<*>></code> - The values.<br /> <a name="Range+value"></a></p> <h4><a id="user-content-rangevaluecallback-⇒-range" class="deep-link" href="#rangevaluecallback-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.value(callback) ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Set the values in each cell to the result of a function called for each.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>callback</td> <td><a href="#Range..mapCallback" rel="nofollow"><code>mapCallback</code></a></td> <td>The callback to provide value for the cell.</td> </tr> </tbody> </table> <p><a name="Range+value"></a></p> <h4><a id="user-content-rangevaluevalues-⇒-range" class="deep-link" href="#rangevaluevalues-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.value(values) ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Sets the value in each cell to the corresponding value in the given 2D array of values.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>values</td> <td><code>Array.<Array.<*>></code></td> <td>The values to set.</td> </tr> </tbody> </table> <p><a name="Range+value"></a></p> <h4><a id="user-content-rangevaluevalue-⇒-range" class="deep-link" href="#rangevaluevalue-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.value(value) ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Set the value of all cells in the range to a single value.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>value</td> <td><code>*</code></td> <td>The value to set.</td> </tr> </tbody> </table> <p><a name="Range+workbook"></a></p> <h4><a id="user-content-rangeworkbook-⇒-workbook" class="deep-link" href="#rangeworkbook-⇒-workbook" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>range.workbook() ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></h4> <p>Gets the parent workbook.</p> <p><strong>Kind</strong>: instance method of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <a href="#Workbook" rel="nofollow"><code>Workbook</code></a> - The parent workbook.<br /> <a name="Range..forEachCallback"></a></p> <h4><a id="user-content-rangeforeachcallback-⇒-undefined" class="deep-link" href="#rangeforeachcallback-⇒-undefined" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Range~forEachCallback ⇒ <code>undefined</code></h4> <p>Callback used by forEach.</p> <p><strong>Kind</strong>: inner typedef of <a href="#Range" rel="nofollow"><code>Range</code></a></p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>cell</td> <td><a href="#Cell" rel="nofollow"><code>Cell</code></a></td> <td>The cell.</td> </tr> <tr> <td>ri</td> <td><code>number</code></td> <td>The relative row index.</td> </tr> <tr> <td>ci</td> <td><code>number</code></td> <td>The relative column index.</td> </tr> <tr> <td>range</td> <td><a href="#Range" rel="nofollow"><code>Range</code></a></td> <td>The range.</td> </tr> </tbody> </table> <p><a name="Range..mapCallback"></a></p> <h4><a id="user-content-rangemapcallback-⇒-" class="deep-link" href="#rangemapcallback-⇒-" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Range~mapCallback ⇒ <code>*</code></h4> <p>Callback used by map.</p> <p><strong>Kind</strong>: inner typedef of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <code>*</code> - The value to map to.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>cell</td> <td><a href="#Cell" rel="nofollow"><code>Cell</code></a></td> <td>The cell.</td> </tr> <tr> <td>ri</td> <td><code>number</code></td> <td>The relative row index.</td> </tr> <tr> <td>ci</td> <td><code>number</code></td> <td>The relative column index.</td> </tr> <tr> <td>range</td> <td><a href="#Range" rel="nofollow"><code>Range</code></a></td> <td>The range.</td> </tr> </tbody> </table> <p><a name="Range..reduceCallback"></a></p> <h4><a id="user-content-rangereducecallback-⇒-" class="deep-link" href="#rangereducecallback-⇒-" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Range~reduceCallback ⇒ <code>*</code></h4> <p>Callback used by reduce.</p> <p><strong>Kind</strong>: inner typedef of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <code>*</code> - The value to map to.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>accumulator</td> <td><code>*</code></td> <td>The accumulated value.</td> </tr> <tr> <td>cell</td> <td><a href="#Cell" rel="nofollow"><code>Cell</code></a></td> <td>The cell.</td> </tr> <tr> <td>ri</td> <td><code>number</code></td> <td>The relative row index.</td> </tr> <tr> <td>ci</td> <td><code>number</code></td> <td>The relative column index.</td> </tr> <tr> <td>range</td> <td><a href="#Range" rel="nofollow"><code>Range</code></a></td> <td>The range.</td> </tr> </tbody> </table> <p><a name="Range..tapCallback"></a></p> <h4><a id="user-content-rangetapcallback-⇒-undefined" class="deep-link" href="#rangetapcallback-⇒-undefined" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Range~tapCallback ⇒ <code>undefined</code></h4> <p>Callback used by tap.</p> <p><strong>Kind</strong>: inner typedef of <a href="#Range" rel="nofollow"><code>Range</code></a></p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>range</td> <td><a href="#Range" rel="nofollow"><code>Range</code></a></td> <td>The range.</td> </tr> </tbody> </table> <p><a name="Range..thruCallback"></a></p> <h4><a id="user-content-rangethrucallback-⇒--1" class="deep-link" href="#rangethrucallback-⇒--1" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Range~thruCallback ⇒ <code>*</code></h4> <p>Callback used by thru.</p> <p><strong>Kind</strong>: inner typedef of <a href="#Range" rel="nofollow"><code>Range</code></a><br /> <strong>Returns</strong>: <code>*</code> - The value to return from thru.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>range</td> <td><a href="#Range" rel="nofollow"><code>Range</code></a></td> <td>The range.</td> </tr> </tbody> </table> <p><a name="RichText"></a></p> <h3><a id="user-content-richtext" class="deep-link" href="#richtext" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>RichText</h3> <p>A RichText class that contains many <a href="#RichTextFragment" rel="nofollow">RichTextFragment</a>.</p> <p><strong>Kind</strong>: global class</p> <ul> <li><a href="#RichText" rel="nofollow">RichText</a> <ul> <li><a href="#new_RichText_new" rel="nofollow">new RichText([node])</a></li> <li><a href="#RichText+cell" rel="nofollow">.cell</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a> | <code>undefined</code></li> <li><a href="#RichText+length" rel="nofollow">.length</a> ⇒ <code>number</code></li> <li><a href="#RichText+text" rel="nofollow">.text()</a> ⇒ <code>string</code></li> <li><a href="#RichText+getInstanceWithCellRef" rel="nofollow">.getInstanceWithCellRef(cell)</a> ⇒ <a href="#RichText" rel="nofollow"><code>RichText</code></a></li> <li><a href="#RichText+copy" rel="nofollow">.copy([cell])</a> ⇒ <a href="#RichText" rel="nofollow"><code>RichText</code></a></li> <li><a href="#RichText+get" rel="nofollow">.get(index)</a> ⇒ <a href="#RichTextFragment" rel="nofollow"><code>RichTextFragment</code></a></li> <li><a href="#RichText+remove" rel="nofollow">.remove(index)</a> ⇒ <a href="#RichText" rel="nofollow"><code>RichText</code></a></li> <li><a href="#RichText+add" rel="nofollow">.add(text, [styles], [index])</a> ⇒ <a href="#RichText" rel="nofollow"><code>RichText</code></a></li> <li><a href="#RichText+clear" rel="nofollow">.clear()</a> ⇒ <a href="#RichText" rel="nofollow"><code>RichText</code></a></li> <li><a href="#RichText+removeUnsupportedNodes" rel="nofollow">.removeUnsupportedNodes()</a> ⇒ <code>undefined</code></li> </ul> </li> </ul> <p><a name="new_RichText_new"></a></p> <h4><a id="user-content-new-richtextnode" class="deep-link" href="#new-richtextnode" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>new RichText([node])</h4> <p>Creates a new instance of RichText. If you get the instance by calling <code>Cell.value()</code>, adding a text contains line separator will trigger <a href="https://github.com/dtjohnson/xlsx-populate/blob/HEAD/Cell.style" rel="nofollow">Cell.style</a>('wrapText', true), which will make MS Excel show the new line. i.e. In MS Excel, Tap "alt+Enter" in a cell, the cell will set wrap text to true automatically.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>[node]</td> <td><code>undefined</code> | <code>null</code> | <code>Object</code></td> <td>The node stored in the shared string</td> </tr> </tbody> </table> <p><a name="RichText+cell"></a></p> <h4><a id="user-content-richtextcell-⇒-cell--undefined" class="deep-link" href="#richtextcell-⇒-cell--undefined" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>richText.cell ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a> | <code>undefined</code></h4> <p>Gets which cell this <a href="#RichText" rel="nofollow">RichText</a> instance belongs to.</p> <p><strong>Kind</strong>: instance property of <a href="#RichText" rel="nofollow"><code>RichText</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> | <code>undefined</code> - The cell this instance belongs to.<br /> <a name="RichText+length"></a></p> <h4><a id="user-content-richtextlength-⇒-number" class="deep-link" href="#richtextlength-⇒-number" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>richText.length ⇒ <code>number</code></h4> <p>Gets the how many rich text fragment this <a href="#RichText" rel="nofollow">RichText</a> instance contains</p> <p><strong>Kind</strong>: instance property of <a href="#RichText" rel="nofollow"><code>RichText</code></a><br /> <strong>Returns</strong>: <code>number</code> - The number of fragments this <a href="#RichText" rel="nofollow">RichText</a> instance has.<br /> <a name="RichText+text"></a></p> <h4><a id="user-content-richtexttext-⇒-string" class="deep-link" href="#richtexttext-⇒-string" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>richText.text() ⇒ <code>string</code></h4> <p>Gets concatenated text without styles.</p> <p><strong>Kind</strong>: instance method of <a href="#RichText" rel="nofollow"><code>RichText</code></a><br /> <strong>Returns</strong>: <code>string</code> - concatenated text<br /> <a name="RichText+getInstanceWithCellRef"></a></p> <h4><a id="user-content-richtextgetinstancewithcellrefcell-⇒-richtext" class="deep-link" href="#richtextgetinstancewithcellrefcell-⇒-richtext" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>richText.getInstanceWithCellRef(cell) ⇒ <a href="#RichText" rel="nofollow"><code>RichText</code></a></h4> <p>Gets the instance with cell reference defined.</p> <p><strong>Kind</strong>: instance method of <a href="#RichText" rel="nofollow"><code>RichText</code></a><br /> <strong>Returns</strong>: <a href="#RichText" rel="nofollow"><code>RichText</code></a> - The instance with cell reference defined.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>cell</td> <td><a href="#Cell" rel="nofollow"><code>Cell</code></a></td> <td>Cell reference.</td> </tr> </tbody> </table> <p><a name="RichText+copy"></a></p> <h4><a id="user-content-richtextcopycell-⇒-richtext" class="deep-link" href="#richtextcopycell-⇒-richtext" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>richText.copy([cell]) ⇒ <a href="#RichText" rel="nofollow"><code>RichText</code></a></h4> <p>Returns a deep copy of this instance. If cell reference is provided, it checks line separators and calls <code>cell.style('wrapText', true)</code> when needed.</p> <p><strong>Kind</strong>: instance method of <a href="#RichText" rel="nofollow"><code>RichText</code></a><br /> <strong>Returns</strong>: <a href="#RichText" rel="nofollow"><code>RichText</code></a> - A deep copied instance</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>[cell]</td> <td><a href="#Cell" rel="nofollow"><code>Cell</code></a> | <code>undefined</code></td> <td>The cell reference.</td> </tr> </tbody> </table> <p><a name="RichText+get"></a></p> <h4><a id="user-content-richtextgetindex-⇒-richtextfragment" class="deep-link" href="#richtextgetindex-⇒-richtextfragment" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>richText.get(index) ⇒ <a href="#RichTextFragment" rel="nofollow"><code>RichTextFragment</code></a></h4> <p>Gets the ith fragment of this <a href="#RichText" rel="nofollow">RichText</a> instance.</p> <p><strong>Kind</strong>: instance method of <a href="#RichText" rel="nofollow"><code>RichText</code></a><br /> <strong>Returns</strong>: <a href="#RichTextFragment" rel="nofollow"><code>RichTextFragment</code></a> - A rich text fragment</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>index</td> <td><code>number</code></td> <td>The index</td> </tr> </tbody> </table> <p><a name="RichText+remove"></a></p> <h4><a id="user-content-richtextremoveindex-⇒-richtext" class="deep-link" href="#richtextremoveindex-⇒-richtext" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>richText.remove(index) ⇒ <a href="#RichText" rel="nofollow"><code>RichText</code></a></h4> <p>Removes a rich text fragment. This instance will be mutated.</p> <p><strong>Kind</strong>: instance method of <a href="#RichText" rel="nofollow"><code>RichText</code></a><br /> <strong>Returns</strong>: <a href="#RichText" rel="nofollow"><code>RichText</code></a> - the rich text instance</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>index</td> <td><code>number</code></td> <td>the index of the fragment to remove</td> </tr> </tbody> </table> <p><a name="RichText+add"></a></p> <h4><a id="user-content-richtextaddtext-styles-index-⇒-richtext" class="deep-link" href="#richtextaddtext-styles-index-⇒-richtext" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>richText.add(text, [styles], [index]) ⇒ <a href="#RichText" rel="nofollow"><code>RichText</code></a></h4> <p>Adds a rich text fragment to the last or after the given index. This instance will be mutated.</p> <p><strong>Kind</strong>: instance method of <a href="#RichText" rel="nofollow"><code>RichText</code></a><br /> <strong>Returns</strong>: <a href="#RichText" rel="nofollow"><code>RichText</code></a> - the rich text instance</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>text</td> <td><code>string</code></td> <td>the text</td> </tr> <tr> <td>[styles]</td> <td><code>Object</code></td> <td>the styles js object, i.e. {fontSize: 12}</td> </tr> <tr> <td>[index]</td> <td><code>number</code> | <code>undefined</code> | <code>null</code></td> <td>the index of the fragment to add</td> </tr> </tbody> </table> <p><a name="RichText+clear"></a></p> <h4><a id="user-content-richtextclear-⇒-richtext" class="deep-link" href="#richtextclear-⇒-richtext" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>richText.clear() ⇒ <a href="#RichText" rel="nofollow"><code>RichText</code></a></h4> <p>Clears this rich text</p> <p><strong>Kind</strong>: instance method of <a href="#RichText" rel="nofollow"><code>RichText</code></a><br /> <strong>Returns</strong>: <a href="#RichText" rel="nofollow"><code>RichText</code></a> - the rich text instance<br /> <a name="RichText+removeUnsupportedNodes"></a></p> <h4><a id="user-content-richtextremoveunsupportednodes-⇒-undefined" class="deep-link" href="#richtextremoveunsupportednodes-⇒-undefined" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>richText.removeUnsupportedNodes() ⇒ <code>undefined</code></h4> <p>Remove all unsupported nodes (phoneticPr, rPh for Japanese language).</p> <p><strong>Kind</strong>: instance method of <a href="#RichText" rel="nofollow"><code>RichText</code></a><br /> <a name="RichTextFragment"></a></p> <h3><a id="user-content-richtextfragment" class="deep-link" href="#richtextfragment" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>RichTextFragment</h3> <p>A Rich text fragment.</p> <p><strong>Kind</strong>: global class</p> <ul> <li><a href="#RichTextFragment" rel="nofollow">RichTextFragment</a> <ul> <li><a href="#new_RichTextFragment_new" rel="nofollow">new RichTextFragment(value, [styles], richText)</a></li> <li><a href="#RichTextFragment+value" rel="nofollow">.value()</a> ⇒ <code>string</code></li> <li><a href="#RichTextFragment+value" rel="nofollow">.value(text)</a> ⇒ <a href="#RichTextFragment" rel="nofollow"><code>RichTextFragment</code></a></li> <li><a href="#RichTextFragment+style" rel="nofollow">.style(name)</a> ⇒ <code>*</code></li> <li><a href="#RichTextFragment+style" rel="nofollow">.style(names)</a> ⇒ <code>object.<string, *></code></li> <li><a href="#RichTextFragment+style" rel="nofollow">.style(name, value)</a> ⇒ <a href="#RichTextFragment" rel="nofollow"><code>RichTextFragment</code></a></li> <li><a href="#RichTextFragment+style" rel="nofollow">.style(styles)</a> ⇒ <a href="#RichTextFragment" rel="nofollow"><code>RichTextFragment</code></a></li> </ul> </li> </ul> <p><a name="new_RichTextFragment_new"></a></p> <h4><a id="user-content-new-richtextfragmentvalue-styles-richtext" class="deep-link" href="#new-richtextfragmentvalue-styles-richtext" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>new RichTextFragment(value, [styles], richText)</h4> <p>Creates a new instance of RichTextFragment.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>value</td> <td><code>string</code> | <code>Object</code></td> <td>Text value or XML node</td> </tr> <tr> <td>[styles]</td> <td><code>object</code> | <code>undefined</code> | <code>null</code></td> <td>Multiple styles.</td> </tr> <tr> <td>richText</td> <td><a href="#RichText" rel="nofollow"><code>RichText</code></a></td> <td>The rich text instance where this fragment belongs to.</td> </tr> </tbody> </table> <p><a name="RichTextFragment+value"></a></p> <h4><a id="user-content-richtextfragmentvalue-⇒-string" class="deep-link" href="#richtextfragmentvalue-⇒-string" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>richTextFragment.value() ⇒ <code>string</code></h4> <p>Gets the value of this part of rich text</p> <p><strong>Kind</strong>: instance method of <a href="#RichTextFragment" rel="nofollow"><code>RichTextFragment</code></a><br /> <strong>Returns</strong>: <code>string</code> - text<br /> <a name="RichTextFragment+value"></a></p> <h4><a id="user-content-richtextfragmentvaluetext-⇒-richtextfragment" class="deep-link" href="#richtextfragmentvaluetext-⇒-richtextfragment" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>richTextFragment.value(text) ⇒ <a href="#RichTextFragment" rel="nofollow"><code>RichTextFragment</code></a></h4> <p>Sets the value of this part of rich text</p> <p><strong>Kind</strong>: instance method of <a href="#RichTextFragment" rel="nofollow"><code>RichTextFragment</code></a><br /> <strong>Returns</strong>: <a href="#RichTextFragment" rel="nofollow"><code>RichTextFragment</code></a> - - RichTextFragment</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>text</td> <td><code>string</code></td> <td>the text to set</td> </tr> </tbody> </table> <p><a name="RichTextFragment+style"></a></p> <h4><a id="user-content-richtextfragmentstylename-⇒-" class="deep-link" href="#richtextfragmentstylename-⇒-" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>richTextFragment.style(name) ⇒ <code>*</code></h4> <p>Gets an individual style.</p> <p><strong>Kind</strong>: instance method of <a href="#RichTextFragment" rel="nofollow"><code>RichTextFragment</code></a><br /> <strong>Returns</strong>: <code>*</code> - The style.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The name of the style.</td> </tr> </tbody> </table> <p><a name="RichTextFragment+style"></a></p> <h4><a id="user-content-richtextfragmentstylenames-⇒-objectstring-" class="deep-link" href="#richtextfragmentstylenames-⇒-objectstring-" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>richTextFragment.style(names) ⇒ <code>object.<string, *></code></h4> <p>Gets multiple styles.</p> <p><strong>Kind</strong>: instance method of <a href="#RichTextFragment" rel="nofollow"><code>RichTextFragment</code></a><br /> <strong>Returns</strong>: <code>object.<string, *></code> - Object whose keys are the style names and values are the styles.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>names</td> <td><code>Array.<string></code></td> <td>The names of the style.</td> </tr> </tbody> </table> <p><a name="RichTextFragment+style"></a></p> <h4><a id="user-content-richtextfragmentstylename-value-⇒-richtextfragment" class="deep-link" href="#richtextfragmentstylename-value-⇒-richtextfragment" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>richTextFragment.style(name, value) ⇒ <a href="#RichTextFragment" rel="nofollow"><code>RichTextFragment</code></a></h4> <p>Sets an individual style.</p> <p><strong>Kind</strong>: instance method of <a href="#RichTextFragment" rel="nofollow"><code>RichTextFragment</code></a><br /> <strong>Returns</strong>: <a href="#RichTextFragment" rel="nofollow"><code>RichTextFragment</code></a> - This RichTextFragment.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The name of the style.</td> </tr> <tr> <td>value</td> <td><code>*</code></td> <td>The value to set.</td> </tr> </tbody> </table> <p><a name="RichTextFragment+style"></a></p> <h4><a id="user-content-richtextfragmentstylestyles-⇒-richtextfragment" class="deep-link" href="#richtextfragmentstylestyles-⇒-richtextfragment" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>richTextFragment.style(styles) ⇒ <a href="#RichTextFragment" rel="nofollow"><code>RichTextFragment</code></a></h4> <p>Sets multiple styles.</p> <p><strong>Kind</strong>: instance method of <a href="#RichTextFragment" rel="nofollow"><code>RichTextFragment</code></a><br /> <strong>Returns</strong>: <a href="#RichTextFragment" rel="nofollow"><code>RichTextFragment</code></a> - This RichTextFragment.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>styles</td> <td><code>object.<string, *></code></td> <td>Object whose keys are the style names and values are the styles to set.</td> </tr> </tbody> </table> <p><a name="Row"></a></p> <h3><a id="user-content-row" class="deep-link" href="#row" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Row</h3> <p>A row.</p> <p><strong>Kind</strong>: global class</p> <ul> <li><a href="#Row" rel="nofollow">Row</a> <ul> <li><a href="#Row+address" rel="nofollow">.address([opts])</a> ⇒ <code>string</code></li> <li><a href="#Row+cell" rel="nofollow">.cell(columnNameOrNumber)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Row+height" rel="nofollow">.height()</a> ⇒ <code>undefined</code> | <code>number</code></li> <li><a href="#Row+height" rel="nofollow">.height(height)</a> ⇒ <a href="#Row" rel="nofollow"><code>Row</code></a></li> <li><a href="#Row+hidden" rel="nofollow">.hidden()</a> ⇒ <code>boolean</code></li> <li><a href="#Row+hidden" rel="nofollow">.hidden(hidden)</a> ⇒ <a href="#Row" rel="nofollow"><code>Row</code></a></li> <li><a href="#Row+rowNumber" rel="nofollow">.rowNumber()</a> ⇒ <code>number</code></li> <li><a href="#Row+sheet" rel="nofollow">.sheet()</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Row+style" rel="nofollow">.style(name)</a> ⇒ <code>*</code></li> <li><a href="#Row+style" rel="nofollow">.style(names)</a> ⇒ <code>object.<string, *></code></li> <li><a href="#Row+style" rel="nofollow">.style(name, value)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Row+style" rel="nofollow">.style(styles)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Row+style" rel="nofollow">.style(style)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Row+workbook" rel="nofollow">.workbook()</a> ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></li> <li><a href="#Row+addPageBreak" rel="nofollow">.addPageBreak()</a> ⇒ <a href="#Row" rel="nofollow"><code>Row</code></a></li> </ul> </li> </ul> <p><a name="Row+address"></a></p> <h4><a id="user-content-rowaddressopts-⇒-string" class="deep-link" href="#rowaddressopts-⇒-string" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>row.address([opts]) ⇒ <code>string</code></h4> <p>Get the address of the row.</p> <p><strong>Kind</strong>: instance method of <a href="#Row" rel="nofollow"><code>Row</code></a><br /> <strong>Returns</strong>: <code>string</code> - The address</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>[opts]</td> <td><code>Object</code></td> <td>Options</td> </tr> <tr> <td>[opts.includeSheetName]</td> <td><code>boolean</code></td> <td>Include the sheet name in the address.</td> </tr> <tr> <td>[opts.anchored]</td> <td><code>boolean</code></td> <td>Anchor the address.</td> </tr> </tbody> </table> <p><a name="Row+cell"></a></p> <h4><a id="user-content-rowcellcolumnnameornumber-⇒-cell" class="deep-link" href="#rowcellcolumnnameornumber-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>row.cell(columnNameOrNumber) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Get a cell in the row.</p> <p><strong>Kind</strong>: instance method of <a href="#Row" rel="nofollow"><code>Row</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>columnNameOrNumber</td> <td><code>string</code> | <code>number</code></td> <td>The name or number of the column.</td> </tr> </tbody> </table> <p><a name="Row+height"></a></p> <h4><a id="user-content-rowheight-⇒-undefined--number" class="deep-link" href="#rowheight-⇒-undefined--number" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>row.height() ⇒ <code>undefined</code> | <code>number</code></h4> <p>Gets the row height.</p> <p><strong>Kind</strong>: instance method of <a href="#Row" rel="nofollow"><code>Row</code></a><br /> <strong>Returns</strong>: <code>undefined</code> | <code>number</code> - The height (or undefined).<br /> <a name="Row+height"></a></p> <h4><a id="user-content-rowheightheight-⇒-row" class="deep-link" href="#rowheightheight-⇒-row" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>row.height(height) ⇒ <a href="#Row" rel="nofollow"><code>Row</code></a></h4> <p>Sets the row height.</p> <p><strong>Kind</strong>: instance method of <a href="#Row" rel="nofollow"><code>Row</code></a><br /> <strong>Returns</strong>: <a href="#Row" rel="nofollow"><code>Row</code></a> - The row.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>height</td> <td><code>number</code></td> <td>The height of the row.</td> </tr> </tbody> </table> <p><a name="Row+hidden"></a></p> <h4><a id="user-content-rowhidden-⇒-boolean" class="deep-link" href="#rowhidden-⇒-boolean" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>row.hidden() ⇒ <code>boolean</code></h4> <p>Gets a value indicating whether the row is hidden.</p> <p><strong>Kind</strong>: instance method of <a href="#Row" rel="nofollow"><code>Row</code></a><br /> <strong>Returns</strong>: <code>boolean</code> - A flag indicating whether the row is hidden.<br /> <a name="Row+hidden"></a></p> <h4><a id="user-content-rowhiddenhidden-⇒-row" class="deep-link" href="#rowhiddenhidden-⇒-row" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>row.hidden(hidden) ⇒ <a href="#Row" rel="nofollow"><code>Row</code></a></h4> <p>Sets whether the row is hidden.</p> <p><strong>Kind</strong>: instance method of <a href="#Row" rel="nofollow"><code>Row</code></a><br /> <strong>Returns</strong>: <a href="#Row" rel="nofollow"><code>Row</code></a> - The row.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hidden</td> <td><code>boolean</code></td> <td>A flag indicating whether to hide the row.</td> </tr> </tbody> </table> <p><a name="Row+rowNumber"></a></p> <h4><a id="user-content-rowrownumber-⇒-number" class="deep-link" href="#rowrownumber-⇒-number" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>row.rowNumber() ⇒ <code>number</code></h4> <p>Gets the row number.</p> <p><strong>Kind</strong>: instance method of <a href="#Row" rel="nofollow"><code>Row</code></a><br /> <strong>Returns</strong>: <code>number</code> - The row number.<br /> <a name="Row+sheet"></a></p> <h4><a id="user-content-rowsheet-⇒-sheet" class="deep-link" href="#rowsheet-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>row.sheet() ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Gets the parent sheet of the row.</p> <p><strong>Kind</strong>: instance method of <a href="#Row" rel="nofollow"><code>Row</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The parent sheet.<br /> <a name="Row+style"></a></p> <h4><a id="user-content-rowstylename-⇒-" class="deep-link" href="#rowstylename-⇒-" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>row.style(name) ⇒ <code>*</code></h4> <p>Gets an individual style.</p> <p><strong>Kind</strong>: instance method of <a href="#Row" rel="nofollow"><code>Row</code></a><br /> <strong>Returns</strong>: <code>*</code> - The style.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The name of the style.</td> </tr> </tbody> </table> <p><a name="Row+style"></a></p> <h4><a id="user-content-rowstylenames-⇒-objectstring-" class="deep-link" href="#rowstylenames-⇒-objectstring-" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>row.style(names) ⇒ <code>object.<string, *></code></h4> <p>Gets multiple styles.</p> <p><strong>Kind</strong>: instance method of <a href="#Row" rel="nofollow"><code>Row</code></a><br /> <strong>Returns</strong>: <code>object.<string, *></code> - Object whose keys are the style names and values are the styles.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>names</td> <td><code>Array.<string></code></td> <td>The names of the style.</td> </tr> </tbody> </table> <p><a name="Row+style"></a></p> <h4><a id="user-content-rowstylename-value-⇒-cell" class="deep-link" href="#rowstylename-value-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>row.style(name, value) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Sets an individual style.</p> <p><strong>Kind</strong>: instance method of <a href="#Row" rel="nofollow"><code>Row</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The name of the style.</td> </tr> <tr> <td>value</td> <td><code>*</code></td> <td>The value to set.</td> </tr> </tbody> </table> <p><a name="Row+style"></a></p> <h4><a id="user-content-rowstylestyles-⇒-cell" class="deep-link" href="#rowstylestyles-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>row.style(styles) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Sets multiple styles.</p> <p><strong>Kind</strong>: instance method of <a href="#Row" rel="nofollow"><code>Row</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>styles</td> <td><code>object.<string, *></code></td> <td>Object whose keys are the style names and values are the styles to set.</td> </tr> </tbody> </table> <p><a name="Row+style"></a></p> <h4><a id="user-content-rowstylestyle-⇒-cell" class="deep-link" href="#rowstylestyle-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>row.style(style) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Sets to a specific style</p> <p><strong>Kind</strong>: instance method of <a href="#Row" rel="nofollow"><code>Row</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>style</td> <td><a href="#new_Style_new" rel="nofollow"><code>Style</code></a></td> <td>Style object given from stylesheet.createStyle</td> </tr> </tbody> </table> <p><a name="Row+workbook"></a></p> <h4><a id="user-content-rowworkbook-⇒-workbook" class="deep-link" href="#rowworkbook-⇒-workbook" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>row.workbook() ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></h4> <p>Get the parent workbook.</p> <p><strong>Kind</strong>: instance method of <a href="#Row" rel="nofollow"><code>Row</code></a><br /> <strong>Returns</strong>: <a href="#Workbook" rel="nofollow"><code>Workbook</code></a> - The parent workbook.<br /> <a name="Row+addPageBreak"></a></p> <h4><a id="user-content-rowaddpagebreak-⇒-row" class="deep-link" href="#rowaddpagebreak-⇒-row" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>row.addPageBreak() ⇒ <a href="#Row" rel="nofollow"><code>Row</code></a></h4> <p>Append horizontal page break after the row.</p> <p><strong>Kind</strong>: instance method of <a href="#Row" rel="nofollow"><code>Row</code></a><br /> <strong>Returns</strong>: <a href="#Row" rel="nofollow"><code>Row</code></a> - the row.<br /> <a name="Sheet"></a></p> <h3><a id="user-content-sheet" class="deep-link" href="#sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Sheet</h3> <p>A worksheet.</p> <p><strong>Kind</strong>: global class</p> <ul> <li><a href="#Sheet" rel="nofollow">Sheet</a> <ul> <li><a href="#Sheet+active" rel="nofollow">.active()</a> ⇒ <code>boolean</code></li> <li><a href="#Sheet+active" rel="nofollow">.active(active)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+activeCell" rel="nofollow">.activeCell()</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Sheet+activeCell" rel="nofollow">.activeCell(cell)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+activeCell" rel="nofollow">.activeCell(rowNumber, columnNameOrNumber)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+cell" rel="nofollow">.cell(address)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Sheet+cell" rel="nofollow">.cell(rowNumber, columnNameOrNumber)</a> ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></li> <li><a href="#Sheet+column" rel="nofollow">.column(columnNameOrNumber)</a> ⇒ <a href="#Column" rel="nofollow"><code>Column</code></a></li> <li><a href="#Sheet+definedName" rel="nofollow">.definedName(name)</a> ⇒ <code>undefined</code> | <code>string</code> | <a href="#Cell" rel="nofollow"><code>Cell</code></a> | <a href="#Range" rel="nofollow"><code>Range</code></a> | <a href="#Row" rel="nofollow"><code>Row</code></a> | <a href="#Column" rel="nofollow"><code>Column</code></a></li> <li><a href="#Sheet+definedName" rel="nofollow">.definedName(name, refersTo)</a> ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></li> <li><a href="#Sheet+delete" rel="nofollow">.delete()</a> ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></li> <li><a href="#Sheet+find" rel="nofollow">.find(pattern, [replacement])</a> ⇒ <a href="#Cell" rel="nofollow"><code>Array.<Cell></code></a></li> <li><a href="#Sheet+gridLinesVisible" rel="nofollow">.gridLinesVisible()</a> ⇒ <code>boolean</code></li> <li><a href="#Sheet+gridLinesVisible" rel="nofollow">.gridLinesVisible(selected)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+hidden" rel="nofollow">.hidden()</a> ⇒ <code>boolean</code> | <code>string</code></li> <li><a href="#Sheet+hidden" rel="nofollow">.hidden(hidden)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+move" rel="nofollow">.move([indexOrBeforeSheet])</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+name" rel="nofollow">.name()</a> ⇒ <code>string</code></li> <li><a href="#Sheet+name" rel="nofollow">.name(name)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+range" rel="nofollow">.range(address)</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Sheet+range" rel="nofollow">.range(startCell, endCell)</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Sheet+range" rel="nofollow">.range(startRowNumber, startColumnNameOrNumber, endRowNumber, endColumnNameOrNumber)</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></li> <li><a href="#Sheet+autoFilter" rel="nofollow">.autoFilter()</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+autoFilter" rel="nofollow">.autoFilter(range)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+row" rel="nofollow">.row(rowNumber)</a> ⇒ <a href="#Row" rel="nofollow"><code>Row</code></a></li> <li><a href="#Sheet+tabColor" rel="nofollow">.tabColor()</a> ⇒ <code>undefined</code> | <code>Color</code></li> <li><a href="#Sheet+tabColor" rel="nofollow">.tabColor()</a> ⇒ <code>Color</code> | <code>string</code> | <code>number</code></li> <li><a href="#Sheet+tabSelected" rel="nofollow">.tabSelected()</a> ⇒ <code>boolean</code></li> <li><a href="#Sheet+tabSelected" rel="nofollow">.tabSelected(selected)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+rightToLeft" rel="nofollow">.rightToLeft()</a> ⇒ <code>boolean</code></li> <li><a href="#Sheet+rightToLeft" rel="nofollow">.rightToLeft(rtl)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+usedRange" rel="nofollow">.usedRange()</a> ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a> | <code>undefined</code></li> <li><a href="#Sheet+workbook" rel="nofollow">.workbook()</a> ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></li> <li><a href="#Sheet+pageBreaks" rel="nofollow">.pageBreaks()</a> ⇒ <code>Object</code></li> <li><a href="#Sheet+verticalPageBreaks" rel="nofollow">.verticalPageBreaks()</a> ⇒ <a href="#PageBreaks" rel="nofollow"><code>PageBreaks</code></a></li> <li><a href="#Sheet+horizontalPageBreaks" rel="nofollow">.horizontalPageBreaks()</a> ⇒ <a href="#PageBreaks" rel="nofollow"><code>PageBreaks</code></a></li> <li><a href="#Sheet+hyperlink" rel="nofollow">.hyperlink(address)</a> ⇒ <code>string</code> | <code>undefined</code></li> <li><a href="#Sheet+hyperlink" rel="nofollow">.hyperlink(address, hyperlink, [internal])</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+hyperlink" rel="nofollow">.hyperlink(address, opts)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+printOptions" rel="nofollow">.printOptions(attributeName)</a> ⇒ <code>boolean</code></li> <li><a href="#Sheet+printOptions" rel="nofollow">.printOptions(attributeName, attributeEnabled)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+printGridLines" rel="nofollow">.printGridLines()</a> ⇒ <code>boolean</code></li> <li><a href="#Sheet+printGridLines" rel="nofollow">.printGridLines(enabled)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+pageMargins" rel="nofollow">.pageMargins(attributeName)</a> ⇒ <code>number</code></li> <li><a href="#Sheet+pageMargins" rel="nofollow">.pageMargins(attributeName, attributeStringValue)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+pageMarginsPreset" rel="nofollow">.pageMarginsPreset()</a> ⇒ <code>string</code></li> <li><a href="#Sheet+pageMarginsPreset" rel="nofollow">.pageMarginsPreset(presetName)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+pageMarginsPreset" rel="nofollow">.pageMarginsPreset(presetName, presetAttributes)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+panes" rel="nofollow">.panes()</a> ⇒ <a href="#PaneOptions" rel="nofollow"><code>PaneOptions</code></a></li> <li><a href="#Sheet+panes" rel="nofollow">.panes(paneOptions)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+freezePanes" rel="nofollow">.freezePanes(xSplit, ySplit)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+freezePanes" rel="nofollow">.freezePanes(topLeftCell)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+splitPanes" rel="nofollow">.splitPanes(xSplit, ySplit)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Sheet+resetPanes" rel="nofollow">.resetPanes()</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> </ul> </li> </ul> <p><a name="Sheet+active"></a></p> <h4><a id="user-content-sheetactive-⇒-boolean" class="deep-link" href="#sheetactive-⇒-boolean" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.active() ⇒ <code>boolean</code></h4> <p>Gets a value indicating whether the sheet is the active sheet in the workbook.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <code>boolean</code> - True if active, false otherwise.<br /> <a name="Sheet+active"></a></p> <h4><a id="user-content-sheetactiveactive-⇒-sheet" class="deep-link" href="#sheetactiveactive-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.active(active) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Make the sheet the active sheet in the workkbok.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>active</td> <td><code>boolean</code></td> <td>Must be set to <code>true</code>. Deactivating directly is not supported. To deactivate, you should activate a different sheet instead.</td> </tr> </tbody> </table> <p><a name="Sheet+activeCell"></a></p> <h4><a id="user-content-sheetactivecell-⇒-cell" class="deep-link" href="#sheetactivecell-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.activeCell() ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Get the active cell in the sheet.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The active cell.<br /> <a name="Sheet+activeCell"></a></p> <h4><a id="user-content-sheetactivecellcell-⇒-sheet" class="deep-link" href="#sheetactivecellcell-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.activeCell(cell) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Set the active cell in the workbook.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>cell</td> <td><code>string</code> | <a href="#Cell" rel="nofollow"><code>Cell</code></a></td> <td>The cell or address of cell to activate.</td> </tr> </tbody> </table> <p><a name="Sheet+activeCell"></a></p> <h4><a id="user-content-sheetactivecellrownumber-columnnameornumber-⇒-sheet" class="deep-link" href="#sheetactivecellrownumber-columnnameornumber-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.activeCell(rowNumber, columnNameOrNumber) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Set the active cell in the workbook by row and column.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>rowNumber</td> <td><code>number</code></td> <td>The row number of the cell.</td> </tr> <tr> <td>columnNameOrNumber</td> <td><code>string</code> | <code>number</code></td> <td>The column name or number of the cell.</td> </tr> </tbody> </table> <p><a name="Sheet+cell"></a></p> <h4><a id="user-content-sheetcelladdress-⇒-cell" class="deep-link" href="#sheetcelladdress-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.cell(address) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Gets the cell with the given address.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>address</td> <td><code>string</code></td> <td>The address of the cell.</td> </tr> </tbody> </table> <p><a name="Sheet+cell"></a></p> <h4><a id="user-content-sheetcellrownumber-columnnameornumber-⇒-cell" class="deep-link" href="#sheetcellrownumber-columnnameornumber-⇒-cell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.cell(rowNumber, columnNameOrNumber) ⇒ <a href="#Cell" rel="nofollow"><code>Cell</code></a></h4> <p>Gets the cell with the given row and column numbers.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Cell</code></a> - The cell.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>rowNumber</td> <td><code>number</code></td> <td>The row number of the cell.</td> </tr> <tr> <td>columnNameOrNumber</td> <td><code>string</code> | <code>number</code></td> <td>The column name or number of the cell.</td> </tr> </tbody> </table> <p><a name="Sheet+column"></a></p> <h4><a id="user-content-sheetcolumncolumnnameornumber-⇒-column" class="deep-link" href="#sheetcolumncolumnnameornumber-⇒-column" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.column(columnNameOrNumber) ⇒ <a href="#Column" rel="nofollow"><code>Column</code></a></h4> <p>Gets a column in the sheet.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Column" rel="nofollow"><code>Column</code></a> - The column.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>columnNameOrNumber</td> <td><code>string</code> | <code>number</code></td> <td>The name or number of the column.</td> </tr> </tbody> </table> <p><a name="Sheet+definedName"></a></p> <h4><a id="user-content-sheetdefinednamename-⇒-undefined--string--cell--range--row--column" class="deep-link" href="#sheetdefinednamename-⇒-undefined--string--cell--range--row--column" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.definedName(name) ⇒ <code>undefined</code> | <code>string</code> | <a href="#Cell" rel="nofollow"><code>Cell</code></a> | <a href="#Range" rel="nofollow"><code>Range</code></a> | <a href="#Row" rel="nofollow"><code>Row</code></a> | <a href="#Column" rel="nofollow"><code>Column</code></a></h4> <p>Gets a defined name scoped to the sheet.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <code>undefined</code> | <code>string</code> | <a href="#Cell" rel="nofollow"><code>Cell</code></a> | <a href="#Range" rel="nofollow"><code>Range</code></a> | <a href="#Row" rel="nofollow"><code>Row</code></a> | <a href="#Column" rel="nofollow"><code>Column</code></a> - What the defined name refers to or undefined if not found. Will return the string formula if not a Row, Column, Cell, or Range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The defined name.</td> </tr> </tbody> </table> <p><a name="Sheet+definedName"></a></p> <h4><a id="user-content-sheetdefinednamename-refersto-⇒-workbook" class="deep-link" href="#sheetdefinednamename-refersto-⇒-workbook" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.definedName(name, refersTo) ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></h4> <p>Set a defined name scoped to the sheet.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Workbook" rel="nofollow"><code>Workbook</code></a> - The workbook.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The defined name.</td> </tr> <tr> <td>refersTo</td> <td><code>string</code> | <a href="#Cell" rel="nofollow"><code>Cell</code></a> | <a href="#Range" rel="nofollow"><code>Range</code></a> | <a href="#Row" rel="nofollow"><code>Row</code></a> | <a href="#Column" rel="nofollow"><code>Column</code></a></td> <td>What the name refers to.</td> </tr> </tbody> </table> <p><a name="Sheet+delete"></a></p> <h4><a id="user-content-sheetdelete-⇒-workbook" class="deep-link" href="#sheetdelete-⇒-workbook" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.delete() ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></h4> <p>Deletes the sheet and returns the parent workbook.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Workbook" rel="nofollow"><code>Workbook</code></a> - The workbook.<br /> <a name="Sheet+find"></a></p> <h4><a id="user-content-sheetfindpattern-replacement-⇒-arraycell" class="deep-link" href="#sheetfindpattern-replacement-⇒-arraycell" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.find(pattern, [replacement]) ⇒ <a href="#Cell" rel="nofollow"><code>Array.<Cell></code></a></h4> <p>Find the given pattern in the sheet and optionally replace it.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Cell" rel="nofollow"><code>Array.<Cell></code></a> - The matching cells.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>pattern</td> <td><code>string</code> | <code>RegExp</code></td> <td>The pattern to look for. Providing a string will result in a case-insensitive substring search. Use a RegExp for more sophisticated searches.</td> </tr> <tr> <td>[replacement]</td> <td><code>string</code> | <code>function</code></td> <td>The text to replace or a String.replace callback function. If pattern is a string, all occurrences of the pattern in each cell will be replaced.</td> </tr> </tbody> </table> <p><a name="Sheet+gridLinesVisible"></a></p> <h4><a id="user-content-sheetgridlinesvisible-⇒-boolean" class="deep-link" href="#sheetgridlinesvisible-⇒-boolean" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.gridLinesVisible() ⇒ <code>boolean</code></h4> <p>Gets a value indicating whether this sheet's grid lines are visible.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <code>boolean</code> - True if selected, false if not.<br /> <a name="Sheet+gridLinesVisible"></a></p> <h4><a id="user-content-sheetgridlinesvisibleselected-⇒-sheet" class="deep-link" href="#sheetgridlinesvisibleselected-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.gridLinesVisible(selected) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Sets whether this sheet's grid lines are visible.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>selected</td> <td><code>boolean</code></td> <td>True to make visible, false to hide.</td> </tr> </tbody> </table> <p><a name="Sheet+hidden"></a></p> <h4><a id="user-content-sheethidden-⇒-boolean--string" class="deep-link" href="#sheethidden-⇒-boolean--string" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.hidden() ⇒ <code>boolean</code> | <code>string</code></h4> <p>Gets a value indicating if the sheet is hidden or not.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <code>boolean</code> | <code>string</code> - True if hidden, false if visible, and 'very' if very hidden.<br /> <a name="Sheet+hidden"></a></p> <h4><a id="user-content-sheethiddenhidden-⇒-sheet" class="deep-link" href="#sheethiddenhidden-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.hidden(hidden) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Set whether the sheet is hidden or not.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hidden</td> <td><code>boolean</code> | <code>string</code></td> <td>True to hide, false to show, and 'very' to make very hidden.</td> </tr> </tbody> </table> <p><a name="Sheet+move"></a></p> <h4><a id="user-content-sheetmoveindexorbeforesheet-⇒-sheet" class="deep-link" href="#sheetmoveindexorbeforesheet-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.move([indexOrBeforeSheet]) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Move the sheet.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>[indexOrBeforeSheet]</td> <td><code>number</code> | <code>string</code> | <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></td> <td>The index to move the sheet to or the sheet (or name of sheet) to move this sheet before. Omit this argument to move to the end of the workbook.</td> </tr> </tbody> </table> <p><a name="Sheet+name"></a></p> <h4><a id="user-content-sheetname-⇒-string" class="deep-link" href="#sheetname-⇒-string" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.name() ⇒ <code>string</code></h4> <p>Get the name of the sheet.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <code>string</code> - The sheet name.<br /> <a name="Sheet+name"></a></p> <h4><a id="user-content-sheetnamename-⇒-sheet" class="deep-link" href="#sheetnamename-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.name(name) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Set the name of the sheet. <em>Note: this method does not rename references to the sheet so formulas, etc. can be broken. Use with caution!</em></p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The name to set to the sheet.</td> </tr> </tbody> </table> <p><a name="Sheet+range"></a></p> <h4><a id="user-content-sheetrangeaddress-⇒-range" class="deep-link" href="#sheetrangeaddress-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.range(address) ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Gets a range from the given range address.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>address</td> <td><code>string</code></td> <td>The range address (e.g. 'A1:B3').</td> </tr> </tbody> </table> <p><a name="Sheet+range"></a></p> <h4><a id="user-content-sheetrangestartcell-endcell-⇒-range" class="deep-link" href="#sheetrangestartcell-endcell-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.range(startCell, endCell) ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Gets a range from the given cells or cell addresses.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>startCell</td> <td><code>string</code> | <a href="#Cell" rel="nofollow"><code>Cell</code></a></td> <td>The starting cell or cell address (e.g. 'A1').</td> </tr> <tr> <td>endCell</td> <td><code>string</code> | <a href="#Cell" rel="nofollow"><code>Cell</code></a></td> <td>The ending cell or cell address (e.g. 'B3').</td> </tr> </tbody> </table> <p><a name="Sheet+range"></a></p> <h4><a id="user-content-sheetrangestartrownumber-startcolumnnameornumber-endrownumber-endcolumnnameornumber-⇒-range" class="deep-link" href="#sheetrangestartrownumber-startcolumnnameornumber-endrownumber-endcolumnnameornumber-⇒-range" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.range(startRowNumber, startColumnNameOrNumber, endRowNumber, endColumnNameOrNumber) ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a></h4> <p>Gets a range from the given row numbers and column names or numbers.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> - The range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>startRowNumber</td> <td><code>number</code></td> <td>The starting cell row number.</td> </tr> <tr> <td>startColumnNameOrNumber</td> <td><code>string</code> | <code>number</code></td> <td>The starting cell column name or number.</td> </tr> <tr> <td>endRowNumber</td> <td><code>number</code></td> <td>The ending cell row number.</td> </tr> <tr> <td>endColumnNameOrNumber</td> <td><code>string</code> | <code>number</code></td> <td>The ending cell column name or number.</td> </tr> </tbody> </table> <p><a name="Sheet+autoFilter"></a></p> <h4><a id="user-content-sheetautofilter-⇒-sheet" class="deep-link" href="#sheetautofilter-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.autoFilter() ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Unsets sheet autoFilter.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - This sheet.<br /> <a name="Sheet+autoFilter"></a></p> <h4><a id="user-content-sheetautofilterrange-⇒-sheet" class="deep-link" href="#sheetautofilterrange-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.autoFilter(range) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Sets sheet autoFilter to a Range.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - This sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>range</td> <td><a href="#Range" rel="nofollow"><code>Range</code></a></td> <td>The autoFilter range.</td> </tr> </tbody> </table> <p><a name="Sheet+row"></a></p> <h4><a id="user-content-sheetrowrownumber-⇒-row" class="deep-link" href="#sheetrowrownumber-⇒-row" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.row(rowNumber) ⇒ <a href="#Row" rel="nofollow"><code>Row</code></a></h4> <p>Gets the row with the given number.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Row" rel="nofollow"><code>Row</code></a> - The row with the given number.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>rowNumber</td> <td><code>number</code></td> <td>The row number.</td> </tr> </tbody> </table> <p><a name="Sheet+tabColor"></a></p> <h4><a id="user-content-sheettabcolor-⇒-undefined--color" class="deep-link" href="#sheettabcolor-⇒-undefined--color" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.tabColor() ⇒ <code>undefined</code> | <code>Color</code></h4> <p>Get the tab color. (See style <a href="#color" rel="nofollow">Color</a>.)</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <code>undefined</code> | <code>Color</code> - The color or undefined if not set.<br /> <a name="Sheet+tabColor"></a></p> <h4><a id="user-content-sheettabcolor-⇒-color--string--number" class="deep-link" href="#sheettabcolor-⇒-color--string--number" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.tabColor() ⇒ <code>Color</code> | <code>string</code> | <code>number</code></h4> <p>Sets the tab color. (See style <a href="#color" rel="nofollow">Color</a>.)</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <code>Color</code> | <code>string</code> | <code>number</code> - color - Color of the tab. If string, will set an RGB color. If number, will set a theme color.<br /> <a name="Sheet+tabSelected"></a></p> <h4><a id="user-content-sheettabselected-⇒-boolean" class="deep-link" href="#sheettabselected-⇒-boolean" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.tabSelected() ⇒ <code>boolean</code></h4> <p>Gets a value indicating whether this sheet is selected.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <code>boolean</code> - True if selected, false if not.<br /> <a name="Sheet+tabSelected"></a></p> <h4><a id="user-content-sheettabselectedselected-⇒-sheet" class="deep-link" href="#sheettabselectedselected-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.tabSelected(selected) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Sets whether this sheet is selected.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>selected</td> <td><code>boolean</code></td> <td>True to select, false to deselected.</td> </tr> </tbody> </table> <p><a name="Sheet+rightToLeft"></a></p> <h4><a id="user-content-sheetrighttoleft-⇒-boolean" class="deep-link" href="#sheetrighttoleft-⇒-boolean" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.rightToLeft() ⇒ <code>boolean</code></h4> <p>Gets a value indicating whether this sheet is rtl (Right To Left).</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <code>boolean</code> - True if rtl, false if ltr.<br /> <a name="Sheet+rightToLeft"></a></p> <h4><a id="user-content-sheetrighttoleftrtl-⇒-sheet" class="deep-link" href="#sheetrighttoleftrtl-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.rightToLeft(rtl) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Sets whether this sheet is rtl.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>rtl</td> <td><code>boolean</code></td> <td>True to rtl, false to ltr (Left To Right).</td> </tr> </tbody> </table> <p><a name="Sheet+usedRange"></a></p> <h4><a id="user-content-sheetusedrange-⇒-range--undefined" class="deep-link" href="#sheetusedrange-⇒-range--undefined" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.usedRange() ⇒ <a href="#Range" rel="nofollow"><code>Range</code></a> | <code>undefined</code></h4> <p>Get the range of cells in the sheet that have contained a value or style at any point. Useful for extracting the entire sheet contents.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Range" rel="nofollow"><code>Range</code></a> | <code>undefined</code> - The used range or undefined if no cells in the sheet are used.<br /> <a name="Sheet+workbook"></a></p> <h4><a id="user-content-sheetworkbook-⇒-workbook" class="deep-link" href="#sheetworkbook-⇒-workbook" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.workbook() ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></h4> <p>Gets the parent workbook.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Workbook" rel="nofollow"><code>Workbook</code></a> - The parent workbook.<br /> <a name="Sheet+pageBreaks"></a></p> <h4><a id="user-content-sheetpagebreaks-⇒-object" class="deep-link" href="#sheetpagebreaks-⇒-object" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.pageBreaks() ⇒ <code>Object</code></h4> <p>Gets all page breaks.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <code>Object</code> - the object holds both vertical and horizontal PageBreaks.<br /> <a name="Sheet+verticalPageBreaks"></a></p> <h4><a id="user-content-sheetverticalpagebreaks-⇒-pagebreaks" class="deep-link" href="#sheetverticalpagebreaks-⇒-pagebreaks" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.verticalPageBreaks() ⇒ <a href="#PageBreaks" rel="nofollow"><code>PageBreaks</code></a></h4> <p>Gets the vertical page breaks.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#PageBreaks" rel="nofollow"><code>PageBreaks</code></a> - vertical PageBreaks.<br /> <a name="Sheet+horizontalPageBreaks"></a></p> <h4><a id="user-content-sheethorizontalpagebreaks-⇒-pagebreaks" class="deep-link" href="#sheethorizontalpagebreaks-⇒-pagebreaks" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.horizontalPageBreaks() ⇒ <a href="#PageBreaks" rel="nofollow"><code>PageBreaks</code></a></h4> <p>Gets the horizontal page breaks.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#PageBreaks" rel="nofollow"><code>PageBreaks</code></a> - horizontal PageBreaks.<br /> <a name="Sheet+hyperlink"></a></p> <h4><a id="user-content-sheethyperlinkaddress-⇒-string--undefined" class="deep-link" href="#sheethyperlinkaddress-⇒-string--undefined" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.hyperlink(address) ⇒ <code>string</code> | <code>undefined</code></h4> <p>Get the hyperlink attached to the cell with the given address.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <code>string</code> | <code>undefined</code> - The hyperlink or undefined if not set.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>address</td> <td><code>string</code></td> <td>The address of the hyperlinked cell.</td> </tr> </tbody> </table> <p><a name="Sheet+hyperlink"></a></p> <h4><a id="user-content-sheethyperlinkaddress-hyperlink-internal-⇒-sheet" class="deep-link" href="#sheethyperlinkaddress-hyperlink-internal-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.hyperlink(address, hyperlink, [internal]) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Set the hyperlink on the cell with the given address.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>address</td> <td><code>string</code></td> <td>The address of the hyperlinked cell.</td> </tr> <tr> <td>hyperlink</td> <td><code>string</code></td> <td>The hyperlink to set or undefined to clear.</td> </tr> <tr> <td>[internal]</td> <td><code>boolean</code></td> <td>The flag to force hyperlink to be internal. If true, then autodetect is skipped.</td> </tr> </tbody> </table> <p><a name="Sheet+hyperlink"></a></p> <h4><a id="user-content-sheethyperlinkaddress-opts-⇒-sheet" class="deep-link" href="#sheethyperlinkaddress-opts-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.hyperlink(address, opts) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Set the hyperlink on the cell with the given address and options.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>address</td> <td><code>string</code></td> <td>The address of the hyperlinked cell.</td> </tr> <tr> <td>opts</td> <td><code>Object</code> | <a href="#Cell" rel="nofollow"><code>Cell</code></a></td> <td>Options or Cell. If opts is a Cell then an internal hyperlink is added.</td> </tr> <tr> <td>[opts.hyperlink]</td> <td><code>string</code> | <a href="#Cell" rel="nofollow"><code>Cell</code></a></td> <td>The hyperlink to set, can be a Cell or an internal/external string.</td> </tr> <tr> <td>[opts.tooltip]</td> <td><code>string</code></td> <td>Additional text to help the user understand more about the hyperlink.</td> </tr> <tr> <td>[opts.email]</td> <td><code>string</code></td> <td>Email address, ignored if opts.hyperlink is set.</td> </tr> <tr> <td>[opts.emailSubject]</td> <td><code>string</code></td> <td>Email subject, ignored if opts.hyperlink is set.</td> </tr> </tbody> </table> <p><a name="Sheet+printOptions"></a></p> <h4><a id="user-content-sheetprintoptionsattributename-⇒-boolean" class="deep-link" href="#sheetprintoptionsattributename-⇒-boolean" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.printOptions(attributeName) ⇒ <code>boolean</code></h4> <p>Get the print option given a valid print option attribute.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>attributeName</td> <td><code>string</code></td> <td>Attribute name of the printOptions. gridLines - Used in conjunction with gridLinesSet. If both gridLines and gridlinesSet are true, then grid lines shall print. Otherwise, they shall not (i.e., one or both have false values). gridLinesSet - Used in conjunction with gridLines. If both gridLines and gridLinesSet are true, then grid lines shall print. Otherwise, they shall not (i.e., one or both have false values). headings - Print row and column headings. horizontalCentered - Center on page horizontally when printing. verticalCentered - Center on page vertically when printing.</td> </tr> </tbody> </table> <p><a name="Sheet+printOptions"></a></p> <h4><a id="user-content-sheetprintoptionsattributename-attributeenabled-⇒-sheet" class="deep-link" href="#sheetprintoptionsattributename-attributeenabled-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.printOptions(attributeName, attributeEnabled) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Set the print option given a valid print option attribute and a value.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>attributeName</td> <td><code>string</code></td> <td>Attribute name of the printOptions. See get print option for list of valid attributes.</td> </tr> <tr> <td>attributeEnabled</td> <td><code>undefined</code> | <code>boolean</code></td> <td>If <code>undefined</code> or <code>false</code> then the attribute is removed, otherwise the print option is enabled.</td> </tr> </tbody> </table> <p><a name="Sheet+printGridLines"></a></p> <h4><a id="user-content-sheetprintgridlines-⇒-boolean" class="deep-link" href="#sheetprintgridlines-⇒-boolean" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.printGridLines() ⇒ <code>boolean</code></h4> <p>Get the print option for the gridLines attribute value.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <a name="Sheet+printGridLines"></a></p> <h4><a id="user-content-sheetprintgridlinesenabled-⇒-sheet" class="deep-link" href="#sheetprintgridlinesenabled-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.printGridLines(enabled) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Set the print option for the gridLines attribute value.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>enabled</td> <td><code>undefined</code> | <code>boolean</code></td> <td>If <code>undefined</code> or <code>false</code> then attribute is removed, otherwise gridLines is enabled.</td> </tr> </tbody> </table> <p><a name="Sheet+pageMargins"></a></p> <h4><a id="user-content-sheetpagemarginsattributename-⇒-number" class="deep-link" href="#sheetpagemarginsattributename-⇒-number" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.pageMargins(attributeName) ⇒ <code>number</code></h4> <p>Get the page margin given a valid attribute name. If the value is not yet defined, then it will return the current preset value.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <code>number</code> - the attribute value.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>attributeName</td> <td><code>string</code></td> <td>Attribute name of the pageMargins. left - Left Page Margin in inches. right - Right page margin in inches. top - Top Page Margin in inches. buttom - Bottom Page Margin in inches. footer - Footer Page Margin in inches. header - Header Page Margin in inches.</td> </tr> </tbody> </table> <p><a name="Sheet+pageMargins"></a></p> <h4><a id="user-content-sheetpagemarginsattributename-attributestringvalue-⇒-sheet" class="deep-link" href="#sheetpagemarginsattributename-attributestringvalue-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.pageMargins(attributeName, attributeStringValue) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Set the page margin (or override the preset) given an attribute name and a value.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>attributeName</td> <td><code>string</code></td> <td>Attribute name of the pageMargins. See get page margin for list of valid attributes.</td> </tr> <tr> <td>attributeStringValue</td> <td><code>undefined</code> | <code>number</code> | <code>string</code></td> <td>If <code>undefined</code> then set back to preset value, otherwise, set the given attribute value.</td> </tr> </tbody> </table> <p><a name="Sheet+pageMarginsPreset"></a></p> <h4><a id="user-content-sheetpagemarginspreset-⇒-string" class="deep-link" href="#sheetpagemarginspreset-⇒-string" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.pageMarginsPreset() ⇒ <code>string</code></h4> <p>Page margins preset is a set of page margins associated with a name. The page margin preset acts as a fallback when not explicitly defined by <code>Sheet.pageMargins</code>. If a sheet already contains page margins, it attempts to auto-detect, otherwise they are defined as the template preset. If no page margins exist, then the preset is undefined and will not be included in the output of <code>Sheet.toXmls</code>. Available presets include: normal, wide, narrow, template.</p> <p>Get the page margins preset name. The registered name of a predefined set of attributes.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <code>string</code> - The preset name.<br /> <a name="Sheet+pageMarginsPreset"></a></p> <h4><a id="user-content-sheetpagemarginspresetpresetname-⇒-sheet" class="deep-link" href="#sheetpagemarginspresetpresetname-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.pageMarginsPreset(presetName) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Set the page margins preset by name, clearing any existing/temporary attribute values.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>presetName</td> <td><code>undefined</code> | <code>string</code></td> <td>The preset name. If <code>undefined</code>, page margins will not be included in the output of <code>Sheet.toXmls</code>.</td> </tr> </tbody> </table> <p><a name="Sheet+pageMarginsPreset"></a></p> <h4><a id="user-content-sheetpagemarginspresetpresetname-presetattributes-⇒-sheet" class="deep-link" href="#sheetpagemarginspresetpresetname-presetattributes-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.pageMarginsPreset(presetName, presetAttributes) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Set a new page margins preset by name and attributes object.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>presetName</td> <td><code>string</code></td> <td>The preset name.</td> </tr> <tr> <td>presetAttributes</td> <td><code>object</code></td> <td>The preset attributes.</td> </tr> </tbody> </table> <p><a name="Sheet+panes"></a></p> <h4><a id="user-content-sheetpanes-⇒-paneoptions" class="deep-link" href="#sheetpanes-⇒-paneoptions" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.panes() ⇒ <a href="#PaneOptions" rel="nofollow"><code>PaneOptions</code></a></h4> <p>Gets sheet view pane options</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#PaneOptions" rel="nofollow"><code>PaneOptions</code></a> - sheet view pane options<br /> <a name="Sheet+panes"></a></p> <h4><a id="user-content-sheetpanespaneoptions-⇒-sheet" class="deep-link" href="#sheetpanespaneoptions-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.panes(paneOptions) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Sets sheet view pane options</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>paneOptions</td> <td><a href="#PaneOptions" rel="nofollow"><code>PaneOptions</code></a> | <code>null</code> | <code>undefined</code></td> <td>sheet view pane options</td> </tr> </tbody> </table> <p><a name="Sheet+freezePanes"></a></p> <h4><a id="user-content-sheetfreezepanesxsplit-ysplit-⇒-sheet" class="deep-link" href="#sheetfreezepanesxsplit-ysplit-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.freezePanes(xSplit, ySplit) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Freezes Panes for this sheet.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>xSplit</td> <td><code>number</code></td> <td>the number of columns visible in the top pane. 0 (zero) if none.</td> </tr> <tr> <td>ySplit</td> <td><code>number</code></td> <td>the number of rows visible in the left pane. 0 (zero) if none.</td> </tr> </tbody> </table> <p><a name="Sheet+freezePanes"></a></p> <h4><a id="user-content-sheetfreezepanestopleftcell-⇒-sheet" class="deep-link" href="#sheetfreezepanestopleftcell-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.freezePanes(topLeftCell) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>freezes Panes for this sheet.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>topLeftCell</td> <td><code>string</code></td> <td>Top Left Visible Cell. Location of the top left visible cell in the bottom right pane (when in Left-To-Right mode).</td> </tr> </tbody> </table> <p><a name="Sheet+splitPanes"></a></p> <h4><a id="user-content-sheetsplitpanesxsplit-ysplit-⇒-sheet" class="deep-link" href="#sheetsplitpanesxsplit-ysplit-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.splitPanes(xSplit, ySplit) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Splits Panes for this sheet.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>xSplit</td> <td><code>number</code></td> <td>(Horizontal Split Position) Horizontal position of the split, in 1/20th of a point; 0 (zero) if none.</td> </tr> <tr> <td>ySplit</td> <td><code>number</code></td> <td>(Vertical Split Position) VVertical position of the split, in 1/20th of a point; 0 (zero) if none.</td> </tr> </tbody> </table> <p><a name="Sheet+resetPanes"></a></p> <h4><a id="user-content-sheetresetpanes-⇒-sheet" class="deep-link" href="#sheetresetpanes-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>sheet.resetPanes() ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>resets to default sheet view panes.</p> <p><strong>Kind</strong>: instance method of <a href="#Sheet" rel="nofollow"><code>Sheet</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The sheet<br /> <a name="Workbook"></a></p> <h3><a id="user-content-workbook" class="deep-link" href="#workbook" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Workbook</h3> <p>A workbook.</p> <p><strong>Kind</strong>: global class</p> <ul> <li><a href="#Workbook" rel="nofollow">Workbook</a> <ul> <li><a href="#Workbook+activeSheet" rel="nofollow">.activeSheet()</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Workbook+activeSheet" rel="nofollow">.activeSheet(sheet)</a> ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></li> <li><a href="#Workbook+addSheet" rel="nofollow">.addSheet(name, [indexOrBeforeSheet])</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> <li><a href="#Workbook+definedName" rel="nofollow">.definedName(name)</a> ⇒ <code>undefined</code> | <code>string</code> | <a href="#Cell" rel="nofollow"><code>Cell</code></a> | <a href="#Range" rel="nofollow"><code>Range</code></a> | <a href="#Row" rel="nofollow"><code>Row</code></a> | <a href="#Column" rel="nofollow"><code>Column</code></a></li> <li><a href="#Workbook+definedName" rel="nofollow">.definedName(name, refersTo)</a> ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></li> <li><a href="#Workbook+deleteSheet" rel="nofollow">.deleteSheet(sheet)</a> ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></li> <li><a href="#Workbook+find" rel="nofollow">.find(pattern, [replacement])</a> ⇒ <code>boolean</code></li> <li><a href="#Workbook+moveSheet" rel="nofollow">.moveSheet(sheet, [indexOrBeforeSheet])</a> ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></li> <li><a href="#Workbook+outputAsync" rel="nofollow">.outputAsync([type])</a> ⇒ <code>Promise.<(string|Uint8Array|ArrayBuffer|Blob|Buffer)></code></li> <li><a href="#Workbook+outputAsync" rel="nofollow">.outputAsync([opts])</a> ⇒ <code>Promise.<(string|Uint8Array|ArrayBuffer|Blob|Buffer)></code></li> <li><a href="#Workbook+sheet" rel="nofollow">.sheet(sheetNameOrIndex)</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> | <code>undefined</code></li> <li><a href="#Workbook+sheets" rel="nofollow">.sheets()</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Array.<Sheet></code></a></li> <li><a href="#Workbook+property" rel="nofollow">.property(name)</a> ⇒ <code>*</code></li> <li><a href="#Workbook+property" rel="nofollow">.property(names)</a> ⇒ <code>object.<string, *></code></li> <li><a href="#Workbook+property" rel="nofollow">.property(name, value)</a> ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></li> <li><a href="#Workbook+property" rel="nofollow">.property(properties)</a> ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></li> <li><a href="#Workbook+properties" rel="nofollow">.properties()</a> ⇒ <code>CoreProperties</code></li> <li><a href="#Workbook+toFileAsync" rel="nofollow">.toFileAsync(path, [opts])</a> ⇒ <code>Promise.<undefined></code></li> <li><a href="#Workbook+cloneSheet" rel="nofollow">.cloneSheet(from, name, [indexOrBeforeSheet])</a> ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></li> </ul> </li> </ul> <p><a name="Workbook+activeSheet"></a></p> <h4><a id="user-content-workbookactivesheet-⇒-sheet" class="deep-link" href="#workbookactivesheet-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.activeSheet() ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Get the active sheet in the workbook.</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The active sheet.<br /> <a name="Workbook+activeSheet"></a></p> <h4><a id="user-content-workbookactivesheetsheet-⇒-workbook" class="deep-link" href="#workbookactivesheetsheet-⇒-workbook" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.activeSheet(sheet) ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></h4> <p>Set the active sheet in the workbook.</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <a href="#Workbook" rel="nofollow"><code>Workbook</code></a> - The workbook.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>sheet</td> <td><a href="#Sheet" rel="nofollow"><code>Sheet</code></a> | <code>string</code> | <code>number</code></td> <td>The sheet or name of sheet or index of sheet to activate. The sheet must not be hidden.</td> </tr> </tbody> </table> <p><a name="Workbook+addSheet"></a></p> <h4><a id="user-content-workbookaddsheetname-indexorbeforesheet-⇒-sheet" class="deep-link" href="#workbookaddsheetname-indexorbeforesheet-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.addSheet(name, [indexOrBeforeSheet]) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Add a new sheet to the workbook.</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The new sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The name of the sheet. Must be unique, less than 31 characters, and may not contain the following characters: \ / * [ ] : ?</td> </tr> <tr> <td>[indexOrBeforeSheet]</td> <td><code>number</code> | <code>string</code> | <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></td> <td>The index to move the sheet to or the sheet (or name of sheet) to move this sheet before. Omit this argument to move to the end of the workbook.</td> </tr> </tbody> </table> <p><a name="Workbook+definedName"></a></p> <h4><a id="user-content-workbookdefinednamename-⇒-undefined--string--cell--range--row--column" class="deep-link" href="#workbookdefinednamename-⇒-undefined--string--cell--range--row--column" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.definedName(name) ⇒ <code>undefined</code> | <code>string</code> | <a href="#Cell" rel="nofollow"><code>Cell</code></a> | <a href="#Range" rel="nofollow"><code>Range</code></a> | <a href="#Row" rel="nofollow"><code>Row</code></a> | <a href="#Column" rel="nofollow"><code>Column</code></a></h4> <p>Gets a defined name scoped to the workbook.</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <code>undefined</code> | <code>string</code> | <a href="#Cell" rel="nofollow"><code>Cell</code></a> | <a href="#Range" rel="nofollow"><code>Range</code></a> | <a href="#Row" rel="nofollow"><code>Row</code></a> | <a href="#Column" rel="nofollow"><code>Column</code></a> - What the defined name refers to or undefined if not found. Will return the string formula if not a Row, Column, Cell, or Range.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The defined name.</td> </tr> </tbody> </table> <p><a name="Workbook+definedName"></a></p> <h4><a id="user-content-workbookdefinednamename-refersto-⇒-workbook" class="deep-link" href="#workbookdefinednamename-refersto-⇒-workbook" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.definedName(name, refersTo) ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></h4> <p>Set a defined name scoped to the workbook.</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <a href="#Workbook" rel="nofollow"><code>Workbook</code></a> - The workbook.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The defined name.</td> </tr> <tr> <td>refersTo</td> <td><code>string</code> | <a href="#Cell" rel="nofollow"><code>Cell</code></a> | <a href="#Range" rel="nofollow"><code>Range</code></a> | <a href="#Row" rel="nofollow"><code>Row</code></a> | <a href="#Column" rel="nofollow"><code>Column</code></a></td> <td>What the name refers to.</td> </tr> </tbody> </table> <p><a name="Workbook+deleteSheet"></a></p> <h4><a id="user-content-workbookdeletesheetsheet-⇒-workbook" class="deep-link" href="#workbookdeletesheetsheet-⇒-workbook" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.deleteSheet(sheet) ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></h4> <p>Delete a sheet from the workbook.</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <a href="#Workbook" rel="nofollow"><code>Workbook</code></a> - The workbook.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>sheet</td> <td><a href="#Sheet" rel="nofollow"><code>Sheet</code></a> | <code>string</code> | <code>number</code></td> <td>The sheet or name of sheet or index of sheet to move.</td> </tr> </tbody> </table> <p><a name="Workbook+find"></a></p> <h4><a id="user-content-workbookfindpattern-replacement-⇒-boolean" class="deep-link" href="#workbookfindpattern-replacement-⇒-boolean" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.find(pattern, [replacement]) ⇒ <code>boolean</code></h4> <p>Find the given pattern in the workbook and optionally replace it.</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <code>boolean</code> - A flag indicating if the pattern was found.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>pattern</td> <td><code>string</code> | <code>RegExp</code></td> <td>The pattern to look for. Providing a string will result in a case-insensitive substring search. Use a RegExp for more sophisticated searches.</td> </tr> <tr> <td>[replacement]</td> <td><code>string</code> | <code>function</code></td> <td>The text to replace or a String.replace callback function. If pattern is a string, all occurrences of the pattern in each cell will be replaced.</td> </tr> </tbody> </table> <p><a name="Workbook+moveSheet"></a></p> <h4><a id="user-content-workbookmovesheetsheet-indexorbeforesheet-⇒-workbook" class="deep-link" href="#workbookmovesheetsheet-indexorbeforesheet-⇒-workbook" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.moveSheet(sheet, [indexOrBeforeSheet]) ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></h4> <p>Move a sheet to a new position.</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <a href="#Workbook" rel="nofollow"><code>Workbook</code></a> - The workbook.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>sheet</td> <td><a href="#Sheet" rel="nofollow"><code>Sheet</code></a> | <code>string</code> | <code>number</code></td> <td>The sheet or name of sheet or index of sheet to move.</td> </tr> <tr> <td>[indexOrBeforeSheet]</td> <td><code>number</code> | <code>string</code> | <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></td> <td>The index to move the sheet to or the sheet (or name of sheet) to move this sheet before. Omit this argument to move to the end of the workbook.</td> </tr> </tbody> </table> <p><a name="Workbook+outputAsync"></a></p> <h4><a id="user-content-workbookoutputasynctype-⇒-promisestringuint8arrayarraybufferblobbuffer" class="deep-link" href="#workbookoutputasynctype-⇒-promisestringuint8arrayarraybufferblobbuffer" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.outputAsync([type]) ⇒ <code>Promise.<(string|Uint8Array|ArrayBuffer|Blob|Buffer)></code></h4> <p>Generates the workbook output.</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <code>Promise.<(string|Uint8Array|ArrayBuffer|Blob|Buffer)></code> - The data.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>[type]</td> <td><code>string</code></td> <td>The type of the data to return: base64, binarystring, uint8array, arraybuffer, blob, nodebuffer. Defaults to 'nodebuffer' in Node.js and 'blob' in browsers.</td> </tr> </tbody> </table> <p><a name="Workbook+outputAsync"></a></p> <h4><a id="user-content-workbookoutputasyncopts-⇒-promisestringuint8arrayarraybufferblobbuffer" class="deep-link" href="#workbookoutputasyncopts-⇒-promisestringuint8arrayarraybufferblobbuffer" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.outputAsync([opts]) ⇒ <code>Promise.<(string|Uint8Array|ArrayBuffer|Blob|Buffer)></code></h4> <p>Generates the workbook output.</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <code>Promise.<(string|Uint8Array|ArrayBuffer|Blob|Buffer)></code> - The data.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>[opts]</td> <td><code>Object</code></td> <td>Options</td> </tr> <tr> <td>[opts.type]</td> <td><code>string</code></td> <td>The type of the data to return: base64, binarystring, uint8array, arraybuffer, blob, nodebuffer. Defaults to 'nodebuffer' in Node.js and 'blob' in browsers.</td> </tr> <tr> <td>[opts.password]</td> <td><code>string</code></td> <td>The password to use to encrypt the workbook.</td> </tr> </tbody> </table> <p><a name="Workbook+sheet"></a></p> <h4><a id="user-content-workbooksheetsheetnameorindex-⇒-sheet--undefined" class="deep-link" href="#workbooksheetsheetnameorindex-⇒-sheet--undefined" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.sheet(sheetNameOrIndex) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> | <code>undefined</code></h4> <p>Gets the sheet with the provided name or index (0-based).</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> | <code>undefined</code> - The sheet or undefined if not found.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>sheetNameOrIndex</td> <td><code>string</code> | <code>number</code></td> <td>The sheet name or index.</td> </tr> </tbody> </table> <p><a name="Workbook+sheets"></a></p> <h4><a id="user-content-workbooksheets-⇒-arraysheet" class="deep-link" href="#workbooksheets-⇒-arraysheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.sheets() ⇒ <a href="#Sheet" rel="nofollow"><code>Array.<Sheet></code></a></h4> <p>Get an array of all the sheets in the workbook.</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Array.<Sheet></code></a> - The sheets.<br /> <a name="Workbook+property"></a></p> <h4><a id="user-content-workbookpropertyname-⇒-" class="deep-link" href="#workbookpropertyname-⇒-" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.property(name) ⇒ <code>*</code></h4> <p>Gets an individual property.</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <code>*</code> - The property.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The name of the property.</td> </tr> </tbody> </table> <p><a name="Workbook+property"></a></p> <h4><a id="user-content-workbookpropertynames-⇒-objectstring-" class="deep-link" href="#workbookpropertynames-⇒-objectstring-" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.property(names) ⇒ <code>object.<string, *></code></h4> <p>Gets multiple properties.</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <code>object.<string, *></code> - Object whose keys are the property names and values are the properties.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>names</td> <td><code>Array.<string></code></td> <td>The names of the properties.</td> </tr> </tbody> </table> <p><a name="Workbook+property"></a></p> <h4><a id="user-content-workbookpropertyname-value-⇒-workbook" class="deep-link" href="#workbookpropertyname-value-⇒-workbook" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.property(name, value) ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></h4> <p>Sets an individual property.</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <a href="#Workbook" rel="nofollow"><code>Workbook</code></a> - The workbook.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td><code>string</code></td> <td>The name of the property.</td> </tr> <tr> <td>value</td> <td><code>*</code></td> <td>The value to set.</td> </tr> </tbody> </table> <p><a name="Workbook+property"></a></p> <h4><a id="user-content-workbookpropertyproperties-⇒-workbook" class="deep-link" href="#workbookpropertyproperties-⇒-workbook" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.property(properties) ⇒ <a href="#Workbook" rel="nofollow"><code>Workbook</code></a></h4> <p>Sets multiple properties.</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <a href="#Workbook" rel="nofollow"><code>Workbook</code></a> - The workbook.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>properties</td> <td><code>object.<string, *></code></td> <td>Object whose keys are the property names and values are the values to set.</td> </tr> </tbody> </table> <p><a name="Workbook+properties"></a></p> <h4><a id="user-content-workbookproperties-⇒-coreproperties" class="deep-link" href="#workbookproperties-⇒-coreproperties" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.properties() ⇒ <code>CoreProperties</code></h4> <p>Get access to core properties object</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <code>CoreProperties</code> - The core properties.<br /> <a name="Workbook+toFileAsync"></a></p> <h4><a id="user-content-workbooktofileasyncpath-opts-⇒-promiseundefined" class="deep-link" href="#workbooktofileasyncpath-opts-⇒-promiseundefined" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.toFileAsync(path, [opts]) ⇒ <code>Promise.<undefined></code></h4> <p>Write the workbook to file. (Not supported in browsers.)</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <code>Promise.<undefined></code> - A promise.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>path</td> <td><code>string</code></td> <td>The path of the file to write.</td> </tr> <tr> <td>[opts]</td> <td><code>Object</code></td> <td>Options</td> </tr> <tr> <td>[opts.password]</td> <td><code>string</code></td> <td>The password to encrypt the workbook.</td> </tr> </tbody> </table> <p><a name="Workbook+cloneSheet"></a></p> <h4><a id="user-content-workbookclonesheetfrom-name-indexorbeforesheet-⇒-sheet" class="deep-link" href="#workbookclonesheetfrom-name-indexorbeforesheet-⇒-sheet" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>workbook.cloneSheet(from, name, [indexOrBeforeSheet]) ⇒ <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></h4> <p>Add a new sheet to the workbook.</p> <p><strong>WARN:</strong> this function has limits: if you clone a sheet with some images or other things link outside the Sheet object, these things in the cloned sheet will be locked when you open in MS Excel app.</p> <p><strong>Kind</strong>: instance method of <a href="#Workbook" rel="nofollow"><code>Workbook</code></a><br /> <strong>Returns</strong>: <a href="#Sheet" rel="nofollow"><code>Sheet</code></a> - The new sheet.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>from</td> <td><a href="#Sheet" rel="nofollow"><code>Sheet</code></a></td> <td>The sheet to be cloned.</td> </tr> <tr> <td>name</td> <td><code>string</code></td> <td>The name of the new sheet. Must be unique, less than 31 characters, and may not contain the following characters: \ / * [ ] : ?</td> </tr> <tr> <td>[indexOrBeforeSheet]</td> <td><code>number</code> | <code>string</code> | <a href="#Sheet" rel="nofollow"><code>Sheet</code></a></td> <td>The index to move the sheet to or the sheet (or name of sheet) to move this sheet before. Omit this argument to move to the end of the workbook.</td> </tr> </tbody> </table> <p><a name="XlsxPopulate"></a></p> <h3><a id="user-content-xlsxpopulate--object" class="deep-link" href="#xlsxpopulate--object" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>XlsxPopulate : <code>object</code></h3> <p><strong>Kind</strong>: global namespace</p> <ul> <li><a href="#XlsxPopulate" rel="nofollow">XlsxPopulate</a> : <code>object</code> <ul> <li><a href="#XlsxPopulate.Promise" rel="nofollow">.Promise</a> : <code>Promise</code></li> <li><a href="#XlsxPopulate.MIME_TYPE" rel="nofollow">.MIME_TYPE</a> : <code>string</code></li> <li><a href="#XlsxPopulate.FormulaError" rel="nofollow">.FormulaError</a> : <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a></li> <li><a href="#XlsxPopulate.RichText" rel="nofollow">.RichText</a> : <a href="#RichText" rel="nofollow"><code>RichText</code></a></li> <li><a href="#XlsxPopulate.dateToNumber" rel="nofollow">.dateToNumber(date)</a> ⇒ <code>number</code></li> <li><a href="#XlsxPopulate.fromBlankAsync" rel="nofollow">.fromBlankAsync()</a> ⇒ <a href="#Workbook" rel="nofollow"><code>Promise.<Workbook></code></a></li> <li><a href="#XlsxPopulate.fromDataAsync" rel="nofollow">.fromDataAsync(data, [opts])</a> ⇒ <a href="#Workbook" rel="nofollow"><code>Promise.<Workbook></code></a></li> <li><a href="#XlsxPopulate.fromFileAsync" rel="nofollow">.fromFileAsync(path, [opts])</a> ⇒ <a href="#Workbook" rel="nofollow"><code>Promise.<Workbook></code></a></li> <li><a href="#XlsxPopulate.numberToDate" rel="nofollow">.numberToDate(number)</a> ⇒ <code>Date</code></li> </ul> </li> </ul> <p><a name="XlsxPopulate.Promise"></a></p> <h4><a id="user-content-xlsxpopulatepromise--promise" class="deep-link" href="#xlsxpopulatepromise--promise" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>XlsxPopulate.Promise : <code>Promise</code></h4> <p>The Promise library.</p> <p><strong>Kind</strong>: static property of <a href="#XlsxPopulate" rel="nofollow"><code>XlsxPopulate</code></a><br /> <a name="XlsxPopulate.MIME_TYPE"></a></p> <h4><a id="user-content-xlsxpopulatemime_type--string" class="deep-link" href="#xlsxpopulatemime_type--string" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>XlsxPopulate.MIME_TYPE : <code>string</code></h4> <p>The XLSX mime type.</p> <p><strong>Kind</strong>: static property of <a href="#XlsxPopulate" rel="nofollow"><code>XlsxPopulate</code></a><br /> <a name="XlsxPopulate.FormulaError"></a></p> <h4><a id="user-content-xlsxpopulateformulaerror--formulaerror" class="deep-link" href="#xlsxpopulateformulaerror--formulaerror" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>XlsxPopulate.FormulaError : <a href="#FormulaError" rel="nofollow"><code>FormulaError</code></a></h4> <p>Formula error class.</p> <p><strong>Kind</strong>: static property of <a href="#XlsxPopulate" rel="nofollow"><code>XlsxPopulate</code></a><br /> <a name="XlsxPopulate.RichText"></a></p> <h4><a id="user-content-xlsxpopulaterichtext--richtext" class="deep-link" href="#xlsxpopulaterichtext--richtext" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>XlsxPopulate.RichText : <a href="#RichText" rel="nofollow"><code>RichText</code></a></h4> <p>RichTexts class</p> <p><strong>Kind</strong>: static property of <a href="#XlsxPopulate" rel="nofollow"><code>XlsxPopulate</code></a><br /> <a name="XlsxPopulate.dateToNumber"></a></p> <h4><a id="user-content-xlsxpopulatedatetonumberdate-⇒-number" class="deep-link" href="#xlsxpopulatedatetonumberdate-⇒-number" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>XlsxPopulate.dateToNumber(date) ⇒ <code>number</code></h4> <p>Convert a date to a number for Excel.</p> <p><strong>Kind</strong>: static method of <a href="#XlsxPopulate" rel="nofollow"><code>XlsxPopulate</code></a><br /> <strong>Returns</strong>: <code>number</code> - The number.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>date</td> <td><code>Date</code></td> <td>The date.</td> </tr> </tbody> </table> <p><a name="XlsxPopulate.fromBlankAsync"></a></p> <h4><a id="user-content-xlsxpopulatefromblankasync-⇒-promiseworkbook" class="deep-link" href="#xlsxpopulatefromblankasync-⇒-promiseworkbook" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>XlsxPopulate.fromBlankAsync() ⇒ <a href="#Workbook" rel="nofollow"><code>Promise.<Workbook></code></a></h4> <p>Create a new blank workbook.</p> <p><strong>Kind</strong>: static method of <a href="#XlsxPopulate" rel="nofollow"><code>XlsxPopulate</code></a><br /> <strong>Returns</strong>: <a href="#Workbook" rel="nofollow"><code>Promise.<Workbook></code></a> - The workbook.<br /> <a name="XlsxPopulate.fromDataAsync"></a></p> <h4><a id="user-content-xlsxpopulatefromdataasyncdata-opts-⇒-promiseworkbook" class="deep-link" href="#xlsxpopulatefromdataasyncdata-opts-⇒-promiseworkbook" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>XlsxPopulate.fromDataAsync(data, [opts]) ⇒ <a href="#Workbook" rel="nofollow"><code>Promise.<Workbook></code></a></h4> <p>Loads a workbook from a data object. (Supports any supported <a href="https://stuk.github.io/jszip/documentation/api_jszip/load_async.html" rel="nofollow">JSZip data types</a>.)</p> <p><strong>Kind</strong>: static method of <a href="#XlsxPopulate" rel="nofollow"><code>XlsxPopulate</code></a><br /> <strong>Returns</strong>: <a href="#Workbook" rel="nofollow"><code>Promise.<Workbook></code></a> - The workbook.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>data</td> <td><code>string</code> | <code>Array.<number></code> | <code>ArrayBuffer</code> | <code>Uint8Array</code> | <code>Buffer</code> | <code>Blob</code> | <code>Promise.<*></code></td> <td>The data to load.</td> </tr> <tr> <td>[opts]</td> <td><code>Object</code></td> <td>Options</td> </tr> <tr> <td>[opts.password]</td> <td><code>string</code></td> <td>The password to decrypt the workbook.</td> </tr> </tbody> </table> <p><a name="XlsxPopulate.fromFileAsync"></a></p> <h4><a id="user-content-xlsxpopulatefromfileasyncpath-opts-⇒-promiseworkbook" class="deep-link" href="#xlsxpopulatefromfileasyncpath-opts-⇒-promiseworkbook" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>XlsxPopulate.fromFileAsync(path, [opts]) ⇒ <a href="#Workbook" rel="nofollow"><code>Promise.<Workbook></code></a></h4> <p>Loads a workbook from file.</p> <p><strong>Kind</strong>: static method of <a href="#XlsxPopulate" rel="nofollow"><code>XlsxPopulate</code></a><br /> <strong>Returns</strong>: <a href="#Workbook" rel="nofollow"><code>Promise.<Workbook></code></a> - The workbook.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>path</td> <td><code>string</code></td> <td>The path to the workbook.</td> </tr> <tr> <td>[opts]</td> <td><code>Object</code></td> <td>Options</td> </tr> <tr> <td>[opts.password]</td> <td><code>string</code></td> <td>The password to decrypt the workbook.</td> </tr> </tbody> </table> <p><a name="XlsxPopulate.numberToDate"></a></p> <h4><a id="user-content-xlsxpopulatenumbertodatenumber-⇒-date" class="deep-link" href="#xlsxpopulatenumbertodatenumber-⇒-date" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>XlsxPopulate.numberToDate(number) ⇒ <code>Date</code></h4> <p>Convert an Excel number to a date.</p> <p><strong>Kind</strong>: static method of <a href="#XlsxPopulate" rel="nofollow"><code>XlsxPopulate</code></a><br /> <strong>Returns</strong>: <code>Date</code> - The date.</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>number</td> <td><code>number</code></td> <td>The number.</td> </tr> </tbody> </table> <p><a name="_"></a></p> <h3><a id="user-content-_" class="deep-link" href="#_" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>_</h3> <p>OOXML uses the CFB file format with Agile Encryption. The details of the encryption are here: <a href="https://msdn.microsoft.com/en-us/library/dd950165(v=office.12).aspx" rel="nofollow">https://msdn.microsoft.com/en-us/library/dd950165(v=office.12).aspx</a></p> <p>Helpful guidance also take from this Github project: <a href="https://github.com/nolze/ms-offcrypto-tool" rel="nofollow">https://github.com/nolze/ms-offcrypto-tool</a></p> <p><strong>Kind</strong>: global constant<br /> <a name="PaneOptions"></a></p> <h3><a id="user-content-paneoptions--object" class="deep-link" href="#paneoptions--object" aria-hidden="true" rel="nofollow"><svg aria-hidden="true" class="deep-link-icon" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>PaneOptions : <code>Object</code></h3> <p><a href="https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.pane?view=openxml-2.8.1" rel="nofollow">https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.pane?view=openxml-2.8.1</a></p> <p><strong>Kind</strong>: global typedef<br /> <strong>Properties</strong></p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Default</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>activePane</td> <td><code>string</code></td> <td><code>"bottomRight"</code></td> <td>Active Pane. The pane that is active.</td> </tr> <tr> <td>state</td> <td><code>string</code></td> <td></td> <td>Split State. Indicates whether the pane has horizontal / vertical splits, and whether those splits are frozen.</td> </tr> <tr> <td>topLeftCell</td> <td><code>string</code></td> <td></td> <td>Top Left Visible Cell. Location of the top left visible cell in the bottom right pane (when in Left-To-Right mode).</td> </tr> <tr> <td>xSplit</td> <td><code>number</code></td> <td></td> <td>(Horizontal Split Position) Horizontal position of the split, in 1/20th of a point; 0 (zero) if none. If the pane is frozen, this value indicates the number of columns visible in the top pane.</td> </tr> <tr> <td>ySplit</td> <td><code>number</code></td> <td></td> <td>(Vertical Split Position) Vertical position of the split, in 1/20th of a point; 0 (zero) if none. If the pane is frozen, this value indicates the number of rows visible in the left pane.</td> </tr> </tbody> </table> </div></article></div><div class="pv4"><h2 class="c7520c26">Readme</h2><h3 id="user-content-keywords" class="a0dff0b1 mt2 pt2 mb3 pb3 f4 fw6 b--black-10">Keywords</h3><ul class="list pl0"><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:excel">excel</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:workbook">workbook</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:xlsx">xlsx</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:parse">parse</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:generate">generate</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:populate">populate</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:template">template</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:browser">browser</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:style">style</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:formatting">formatting</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:encryption">encryption</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:password">password</a></li></ul></div></section><section class="e22ba268 ph2 ph0-ns ml0-ns mr3-ns black-80" id="tabpanel-explore" aria-labelledby="package-tab-explore" role="tabpanel" data-attribute="hidden"></section><section class="e22ba268 ph2 ph0-ns ml0-ns mr3-ns black-80" id="tabpanel-admin" aria-labelledby="package-tab-admin" role="tabpanel" data-attribute="hidden"></section><section class="e22ba268 ph2 ph0-ns ml0-ns mr3-ns black-80" id="tabpanel-dependencies" aria-labelledby="package-tab-dependencies" role="tabpanel" data-attribute="hidden"></section><section class="e22ba268 ph2 ph0-ns ml0-ns mr3-ns black-80" id="tabpanel-dependents" aria-labelledby="package-tab-dependents" role="tabpanel" data-attribute="hidden"></section><div class="e22ba268 ph2 ph0-ns ml0-ns mr3-ns black-80" id="tabpanel-versions" aria-labelledby="package-tab-versions" role="tabpanel" data-attribute="hidden"></div></span><span aria-live="polite"></span></div><div class="fdbf4038 w-third-l mt3 w-100 ph3 ph4-m pv3 pv0-l"><h2 class="c7520c26">Package Sidebar</h2><h3 class="c84e15be f5 mt2 pt2 mb0">Install</h3><div class="d767adf4 lh-copy truncate ph0 mb3 black-80 b5be2af6 f6 flex flex-row"><svg viewBox="0 0 12.32 9.33" aria-hidden="true"><g><line class="st1" x1="7.6" y1="8.9" x2="7.6" y2="6.9"></line><rect width="1.9" height="1.9"></rect><rect x="1.9" y="1.9" width="1.9" height="1.9"></rect><rect x="3.7" y="3.7" width="1.9" height="1.9"></rect><rect x="1.9" y="5.6" width="1.9" height="1.9"></rect><rect y="7.5" width="1.9" height="1.9"></rect></g></svg><p class="flex-auto truncate db ma0"><code>npm i <!-- -->xlsx-populate</code><button class="fbd04dd1" type="button" aria-label="Copy install command line"><svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="copy" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z" fill="#808080"></path></svg></button></p></div><div class="_702d723c dib w-50 fl bb b--black-10 pr2 w-100"><h3 id="repository" class="c84e15be f5 mt2 pt2 mb0">Repository</h3><p class="_40aff104 fw6 mb3 mt2 truncate black-80 f5"><a aria-labelledby="repository repository-link" class="b2812e30 f2874b88 fw6 mb3 mt2 truncate black-80 f4 no-underline pr1" href="https://github.com/dtjohnson/xlsx-populate" target="_blank" rel="noopener noreferrer nofollow"><span class="_513426a8 dib v-mid"><svg width="16" height="16" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><title>Git</title><g fill="#0A0B09" fill-rule="nonzero"><path d="M15.6981994,7.28744895 L8.71251571,0.3018063 C8.3102891,-0.1006021 7.65784619,-0.1006021 7.25527133,0.3018063 L5.80464367,1.75263572 L7.64478689,3.59281398 C8.07243561,3.44828825 8.56276901,3.5452772 8.90352982,3.88604451 C9.24638012,4.22907547 9.34249661,4.72359725 9.19431703,5.15282127 L10.9679448,6.92630874 C11.3971607,6.77830046 11.8918472,6.8738964 12.2346975,7.21727561 C12.7135387,7.69595181 12.7135387,8.47203759 12.2346975,8.95106204 C11.755508,9.43026062 10.9796112,9.43026062 10.5002476,8.95106204 C10.140159,8.59061834 10.0510075,8.06127108 10.2336636,7.61759448 L8.57948492,5.9635584 L8.57948492,10.3160467 C8.69614805,10.3738569 8.80636859,10.4509954 8.90352982,10.5479843 C9.38237103,11.0268347 9.38237103,11.8027463 8.90352982,12.2822931 C8.42468862,12.7609693 7.64826937,12.7609693 7.16977641,12.2822931 C6.69093521,11.8027463 6.69093521,11.0268347 7.16977641,10.5479843 C7.28818078,10.4297518 7.42521643,10.3402504 7.57148065,10.2803505 L7.57148065,5.88746473 C7.42521643,5.82773904 7.28852903,5.73893407 7.16977641,5.62000506 C6.80707597,5.25747183 6.71983981,4.72499027 6.90597844,4.27957241 L5.09195384,2.465165 L0.301800552,7.25506126 C-0.100600184,7.65781791 -0.100600184,8.31027324 0.301800552,8.71268164 L7.28783254,15.6983243 C7.69005915,16.1005586 8.34232793,16.1005586 8.74507691,15.6983243 L15.6981994,8.74506934 C16.1006002,8.34266094 16.1006002,7.68968322 15.6981994,7.28744895" id="Path"></path></g></svg></span><span id="repository-link">github.com/dtjohnson/xlsx-populate</span></a></p></div><div class="_702d723c dib w-50 fl bb b--black-10 pr2 w-100"><h3 id="homePage" class="c84e15be f5 mt2 pt2 mb0">Homepage</h3><p class="_40aff104 fw6 mb3 mt2 truncate black-80 f5"><a aria-labelledby="homePage homePage-link" class="b2812e30 f2874b88 fw6 mb3 mt2 truncate black-80 f4 no-underline pr1" rel="noopener noreferrer nofollow" href="https://github.com/dtjohnson/xlsx-populate#readme"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="link" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"></path></svg><span id="homePage-link">github.com/dtjohnson/xlsx-populate#readme</span></a></p></div><div><div class="_702d723c dib w-50 fl bb b--black-10 pr2 w-100" role="button" tabindex="0" aria-label="Showing weekly downloads"><h3 class="c84e15be f5 mt2 pt2 mb0 _5cfc0900"><svg viewBox="0 0 7.22 11.76" aria-hidden="true"><title>Downloads</title><g><polygon points="4.59 4.94 4.59 0 2.62 0 2.62 4.94 0 4.94 3.28 9.53 7.22 4.94 4.59 4.94" aria-label="Downloads icon"></polygon><rect x="0.11" y="10.76" width="7" height="1"></rect></g></svg>Weekly Downloads</h3><div class="_000ae427 flex flex-row-reverse items-end"><svg class="_418c4939 flex-none" width="200" height="40" stroke-width="3" stroke="#8956FF" fill="rgba(137, 86, 255, .2)" aria-hidden="true"></svg><p class="_9ba9a726 f4 tl flex-auto fw6 black-80 ma0 pr2 pb1">57,782</p></div></div></div><div class="_702d723c dib w-50 fl bb b--black-10 pr2"><h3 class="c84e15be f5 mt2 pt2 mb0">Version</h3><div class="abe380b3 flex flex-row items-center"><p class="f2874b88 fw6 mb3 mt2 truncate black-80 f4">1.21.0</p></div></div><div class="_702d723c dib w-50 fl bb b--black-10 pr2"><h3 class="c84e15be f5 mt2 pt2 mb0">License</h3><p class="f2874b88 fw6 mb3 mt2 truncate black-80 f4">MIT</p></div><div class="_702d723c dib w-50 fl bb b--black-10 pr2"><h3 class="c84e15be f5 mt2 pt2 mb0">Unpacked Size</h3><p class="f2874b88 fw6 mb3 mt2 truncate black-80 f4">15.1 MB</p></div><div class="_702d723c dib w-50 fl bb b--black-10 pr2"><h3 class="c84e15be f5 mt2 pt2 mb0">Total Files</h3><p class="f2874b88 fw6 mb3 mt2 truncate black-80 f4">51</p></div><div class="_702d723c dib w-50 fl bb b--black-10 pr2 w-100"><h3 class="c84e15be f5 mt2 pt2 mb0">Last publish</h3><p class="f2874b88 fw6 mb3 mt2 truncate black-80 f4"><time dateTime="2020-03-01T20:36:47.441Z" title="3/1/2020, 8:36:47 PM">5 years ago</time></p></div><div class="_702d723c dib w-50 fl bb b--black-10 pr2 bb-0 w-100"><h3 id="collaborators" class="c84e15be f5 mt2 pt2 mb0">Collaborators</h3><ul aria-labelledby="collaborators" class="list pl0 cf"><li class="_426b8533 fl dib mr2 mb2"><div><a href="/~dtjohnson"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mZDFjMGU0OGNkMjkzZDAwMTVmZTk0ZWNmNzdhMmI3Mz9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.kKDuOWJCcjqYIoJ6q3dazmqoz6zxDJdbOoAAiUBqubI" style="width:42px;height:42px;min-width:42px;border-radius:4%" alt="dtjohnson" title="dtjohnson"/></a></div></li></ul></div><div class="w-100"><a class="c37751f6 _24a1e9c7 dab9924c br2 pv2 ph3 fw5 f5 tc button button-reset pointer ma2 truncate ml0 no-underline mt2 dib w-100" rel="noopener noreferrer nofollow" href="https://runkit.com/npm/xlsx-populate"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="terminal" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M257.981 272.971L63.638 467.314c-9.373 9.373-24.569 9.373-33.941 0L7.029 444.647c-9.357-9.357-9.375-24.522-.04-33.901L161.011 256 6.99 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L257.981 239.03c9.373 9.372 9.373 24.568 0 33.941zM640 456v-32c0-13.255-10.745-24-24-24H312c-13.255 0-24 10.745-24 24v32c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z"></path></svg><strong>Try</strong> on RunKit</a></div><div class="_33c89934 w-100"><a class="_4a3f8f21 _24a1e9c7 dab9924c br2 pv2 ph3 fw5 f5 tc button button-reset pointer ma2 truncate ml0 no-underline mt2 dib w-100" href="/support?inquire=security&security-inquire=malware&package=xlsx-populate&version=1.21.0"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="flag" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M349.565 98.783C295.978 98.783 251.721 64 184.348 64c-24.955 0-47.309 4.384-68.045 12.013a55.947 55.947 0 0 0 3.586-23.562C118.117 24.015 94.806 1.206 66.338.048 34.345-1.254 8 24.296 8 56c0 19.026 9.497 35.825 24 45.945V488c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-94.4c28.311-12.064 63.582-22.122 114.435-22.122 53.588 0 97.844 34.783 165.217 34.783 48.169 0 86.667-16.294 122.505-40.858C506.84 359.452 512 349.571 512 339.045v-243.1c0-23.393-24.269-38.87-45.485-29.016-34.338 15.948-76.454 31.854-116.95 31.854z"></path></svg><strong>Report</strong> malware</a></div></div></div> </main><footer class="cd2827bb bt b--black-10 mt4"><h2 class="e13b5dae">Footer</h2><div id="footer" class="center mw9 pa3 flex flex-column flex-wrap-m flex-row-ns"><div class="flex-auto pa4-ns pa3 w-100 w-10-l"><div class="_802b5507 pt3"><a target="_blank" rel="noopener noreferrer nofollow" href="https://github.com/npm" aria-label="Visit npm GitHub page"><svg viewBox="0 0 27.23 27.23" aria-hidden="true"><rect fill="#333333" width="27.23" height="27.23" rx="2"></rect><polygon fill="#fff" points="5.8 21.75 13.66 21.75 13.67 9.98 17.59 9.98 17.58 21.76 21.51 21.76 21.52 6.06 5.82 6.04 5.8 21.75"></polygon></svg></a></div><div class="_802b5507 pt3"><a target="_blank" rel="noopener noreferrer nofollow" href="https://github.com" aria-label="GitHub"><svg aria-hidden="true" focusable="false" class="" viewBox="0 0 24 24" width="50" height="50" fill="black" style="display:inline-block;user-select:none;vertical-align:top;overflow:visible"><path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path></svg></a></div></div><div class="flex-auto pa4-ns pa3 w-30-ns w-50-m"><h3 id="support" class="_1b8c0a9f">Support</h3><ul class="list pl0" aria-labelledby="support"><li class="pv1"><a class="df995acb no-underline pr1" href="https://docs.npmjs.com">Help</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="https://github.com/advisories">Advisories</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="http://status.npmjs.org/">Status</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="/support">Contact npm</a></li></ul></div><div class="flex-auto pa4-ns pa3 w-30-ns w-50-m"><h3 id="company" class="_1b8c0a9f">Company</h3><ul class="list pl0" aria-labelledby="company"><li class="pv1"><a class="df995acb no-underline pr1" href="/about">About</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="https://github.blog/tag/npm/">Blog</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="/press">Press</a></li></ul></div><div class="flex-auto pa4-ns pa3 w-30-ns w-50-m"><h3 id="terms" class="_1b8c0a9f">Terms & Policies</h3><ul class="list pl0" aria-labelledby="terms"><li class="pv1"><a class="df995acb no-underline pr1" href="/policies/">Policies</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="/policies/terms">Terms of Use</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="/policies/conduct">Code of Conduct</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="/policies/privacy">Privacy</a></li></ul></div></div></footer></div><div class="_8a62ca63 fixed top-0 left-0 z-999" style="opacity:0;transform:scaleX(1);-webkit-transform:scaleX(1);-moz-transform:scaleX(1)"></div></div></div><script integrity="sha512-o5E88ZB+FOLyXe8wyIMlNTp/lHqzKmWHzG0Eh08aSHy04S0IbQTKXP9BwaDjrFkhojVGJlBt4rm5UHJvDLYdHA==">window.__context__ = {"context":{"notifications":[],"csrftoken":"BzNaBNwIpyfFBCG3vqPYrS5wp3bmxGxRTCJB8VqYKYC","userEmailVerified":null,"isV3SearchEnabled":true,"auditLogEnabled":false,"user":null,"documentContext":{"readme.data":"readme"},"undefined":true,"readme":{"ref":"readme","data":null},"versionsDownloads":{"1.14.1":32,"1.13.0":19,"1.15.0":19,"1.7.0":10,"1.20.0":25,"0.0.1":10,"1.5.2":3,"1.17.1":123,"0.3.0":28,"1.19.1":479,"1.8.2":6,"0.2.0":2,"1.14.0":30,"1.19.0":23,"1.11.0":48,"1.12.0":23,"1.21.0":66267,"1.10.0":13,"1.17.0":459,"1.5.1":3,"1.5.4":14,"0.1.1":1,"0.1.0":2,"1.16.0":7,"1.18.0":182,"1.5.5":4,"1.6.0":2,"1.2.0":2,"0.0.4":4,"1.9.0":1,"1.4.0":7,"0.1.2":1,"1.4.2":2,"1.6.1":1,"0.0.2":3,"1.5.3":3,"1.8.0":1,"1.4.1":21,"1.20.1":5052,"1.2.1":16,"1.3.0":2,"0.0.5":1,"1.8.1":20,"0.0.3":7},"starAction":"/package/xlsx-populate/star","provenance":{"enabled":false,"feedbackUrl":" https://github.com/npm/feedback"},"isSecurityPlaceholder":false,"private":false,"packument":{"author":{"name":"Dave T. Johnson","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mZDFjMGU0OGNkMjkzZDAwMTVmZTk0ZWNmNzdhMmI3Mz9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.uFV1MVzWyx62cWSQ8-6OdVQcV9wkg6Wb3Lyh2KR1Nr4","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mZDFjMGU0OGNkMjkzZDAwMTVmZTk0ZWNmNzdhMmI3Mz9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.kKDuOWJCcjqYIoJ6q3dazmqoz6zxDJdbOoAAiUBqubI","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mZDFjMGU0OGNkMjkzZDAwMTVmZTk0ZWNmNzdhMmI3Mz9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.ONLhwVrxZOleaS7H7B1-neOkFPM7h4fRCjyaX27cqL0"}},"description":"Excel XLSX parser/generator written in JavaScript with Node.js and browser support, jQuery/d3-style method chaining, and a focus on keeping existing workbook features and styles in tact.","homepage":"https://github.com/dtjohnson/xlsx-populate#readme","repository":"https://github.com/dtjohnson/xlsx-populate","distTags":{"latest":"1.21.0"},"keywords":["excel","workbook","xlsx","parse","generate","populate","template","browser","style","formatting","encryption","password"],"maintainers":[{"name":"dtjohnson","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mZDFjMGU0OGNkMjkzZDAwMTVmZTk0ZWNmNzdhMmI3Mz9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.uFV1MVzWyx62cWSQ8-6OdVQcV9wkg6Wb3Lyh2KR1Nr4","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mZDFjMGU0OGNkMjkzZDAwMTVmZTk0ZWNmNzdhMmI3Mz9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.kKDuOWJCcjqYIoJ6q3dazmqoz6zxDJdbOoAAiUBqubI","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mZDFjMGU0OGNkMjkzZDAwMTVmZTk0ZWNmNzdhMmI3Mz9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.ONLhwVrxZOleaS7H7B1-neOkFPM7h4fRCjyaX27cqL0"}}],"name":"xlsx-populate","license":"MIT","version":"1.21.0","versions":[{"version":"1.21.0","date":{"ts":1583095007441,"rel":"5 years ago"},"dist":{"integrity":"sha512-8v2Gm8BehXo6LU7KT802QoXTPkYY1SKk5V8g/UuYZnNB3JzXqud/P99Pxr2yXeKyt+sKlCatmidz6jQNie1hRw==","shasum":"f6cd02401f4cd3d055e81f2b6983ddfeeb60ffe6","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.21.0.tgz","fileCount":51,"unpackedSize":15112553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXBzgCRA9TVsSAnZWagAAyJAP/1HZl558ZrhR1r2bVTJX\nHexQTWkYcnYAs2OBM+eBZcQxm5dA8QvPvkyiGHF4AiivBzsA/iCXVldkqGvE\nBY9YalprZwtO81Fx3n233SOTIaCjodTHataIXfWEi2j4xWHqRuNKOd4XmrbX\nawgkMf8XoxKOokGMFUzsmolsN+6+xYNsJK7jY3JeNlV8VJgoelieV3xyuwKP\nBkoR1fM20WGIwwi/jMx+w+UzvO14vZKqCmlwaKlgkOSI5lkEm/4t3YJtLAsf\nZzPohKE5giO7Cwjcy+uqnckZ+3ofmcXYg34lyCq6AAXCfOAghlqK2G98xrnN\ntpzyNKU0LU7WvZGiRcZGKxAueQLxHrjwzduH9kOxjFRY/jESNoAqV7V7eBxd\ncQwnr1G1KvgRYD0NuK/m8KJLmdsagSMzc8IUG3OU3oDRQstA1PDyUQeZB7jx\nUqSqRy9jKTOuOcMlJ02ESVwvW/0SDNBPc5A7K+pR+6q02LHPwTeCwmbYpPgO\njacOS0b+zGz6ih/bJBo5nNJpxkbFNojM9ssCbi20/BMu7xIUyWzqgkOxuPNJ\nHO8m9SlZ5dncsSPSDB0hLxmhPp4Ytj0+uoNesemcgwAOrY7yjhuksBevE++R\na7Wmylw1j0NCDsJuCZ2zVp4/yXZqt7xO81vUU1L1NrQdUQ1x8fivoOk+Lsm4\n7Dhs\r\n=ZG1O\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnBasVopk5DYQoMYx24dN/fzOvf0MRmXW45sH3BhvvdAIgaqyjR7nukMoJuVMfkUXKZWuHQNlQ2B4alJbaMCLxjRk="}]}},{"version":"1.20.1","date":{"ts":1564851768925,"rel":"5 years ago"},"dist":{"integrity":"sha512-128l+3CWPJaI0keGQ6G6HaqWhHdQ8AbfhX7G/Ouy/uq5yKv/O6hJOg+IqJp8zOcx9eLimVIfyNVyjZmEZ0Zhcw==","shasum":"71714a0b3efd0c928f24038002286255bf01fc0a","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.20.1.tgz","fileCount":51,"unpackedSize":15174235,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdRb45CRA9TVsSAnZWagAAo3kQAIinZFFdTNANt7qwmju2\nLmVQV4bVgYl2/gtEoNIcjU+VZCv8x2N4lf+ebhb+z1Xh8v9lsiU20k4NFVQ/\nppUrU/NLT/rR4JFbHKULw8E2l1r6XoeF4VLsRPJJHE1YLnvSf6BqNqtNnoTO\nZAMuAL6Bp6uFMDdItpuJE2CRCHUgrdknnnkdYjOO17oyCTgIDbFyGMuPWTFQ\npuMFqpREGG/TpUjJsBmWBtQ337a6WCZNHcx0XbNlvKYns1rJeVEMcD/3tCYt\ncWyY/0C8bysQhqr2UfLkRxw3XGM3mSydZLX7aHTEa0b69x048EHmIPLXDR4t\n6owkNkmGDDfSMzByidxKg4ZWFCa1YvYsKkfNx4XzAV08/LtjRZGvoZoFWcxi\nuyj5ZDTW37pt63GvEt6OHOCBnDamdiK0qE3K94xMe4K63ny9U6EPS1mnbzbu\nEBMFtnXnxhuVd9vS1/obxpwjmAGoWitDYd8u3nCAwmk21DE2vKWJa+PoLR34\nf/6kBrdxmDkf1HiMuVI7GGcvOzUDXIhFB6LYcead4SGuLUBgH+pFw/NHOscE\n69TinKpjom5VuhDCofDB9eeFilmX1tpCJnhwz26XwYzWS+xqBms4OH/54pqB\noOnTGDTHdARkS7+eYEFyf1ymAdvepA+EUtUIXa7zNj3G+vUjoLpMUYpEJ3x7\nWY3i\r\n=JBgO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4+shwVgl8phRhV56j7KeE0hY5pNsdbpxf92/toEduwQIgMNn2c8plRDhiVktr2Tra+u0c+ihPSHc17IRw1zadJMg="}]}},{"version":"1.20.0","date":{"ts":1563732394671,"rel":"5 years ago"},"dist":{"integrity":"sha512-KHku5tSeqI0NfM/zmaZ4DO1mlu10GUF/1T2FUuiuMeJXBsbmWOna/eJIcGAaVQMKYOIETOtz1VVnYTSHR5sZMg==","shasum":"7c6879751a251604dfbc7a613182846860f63526","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.20.0.tgz","fileCount":51,"unpackedSize":15164262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdNKmrCRA9TVsSAnZWagAANmkP/0bqRP5CZ8Fh7QIjNrgo\n8H1TV2TB3bdC52+qmKij/go7DELbshOknQzfxKQcIhX8Vt93NBdmEl1/LM02\nvPNZPppEcNyTYyl87MtprcDz0zP94FaXStxDGqVRER+aBWexhr7wk3qveMMv\nNCrcbdzeBEvvzFivbScOAtet+yTUb6+dsnxG3+DETrz25RG7RmsJn42LXhQh\nkC8mMeM7Tdjl+41WBSAFUMYCdyoOiT56xSXI5H5eH2nhHOgif20c0Gp1NE4T\nqGB7HKyH8absklcZVX+QUuvftUKy8NPwfRCr65YyBTJZAPg0DtdDg9yECCIx\ny1tg6slw9VKXCth1iQDtlSTEInq8gxAKUqB5osK223tfknV6DCIdfwkgB6fN\nLT1NRruXh4MFO2gL1qaPyxFvHAoOLjzFg4s8Np14iytA3IdsitSCvNH/VD9f\nMHX4zYZglTNaAojW/9cITsNXIF+h0FRFDX2FEKdUW7PY/yw6llZGR9isZ23m\nEj5CempX9gL0YSTxNZLXQG8/JrovGXzP/uZW1drvrCUhLjajQy3eWA73q9jl\nwCle4GxjARrmkddrdEq34p3QD8lauz96JfYXnDQ/1XfxwoiqkxjsEwm/QGFT\n2ufHkzNAiDYcB21tauUjnPF3A2Es0XZ+IzuvE3S/yCcYoz8Ti9YrASsANhLc\nCzId\r\n=B87n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFEN9JUIxQRxGE6/zB0OTXIPtmqAXNbpJ0XjaUvhD0f7AiA7cea+s30wzH1hfJn18JG3aIUrLSx3eOPnopfvSx1nsg=="}]}},{"version":"1.19.1","date":{"ts":1550020694962,"rel":"6 years ago"},"dist":{"integrity":"sha512-rcV9MO8ltDJxc98K+tJxCQtrHmgtOy0eifrShs5pH9RI6uFskMMR7KNp9zvb/MKn35XkOSJEhiQTfj0Opy2I2w==","shasum":"92defb8314f1b41c880c94f8b3ee9c483cac06ee","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.19.1.tgz","fileCount":48,"unpackedSize":14536834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcY3BYCRA9TVsSAnZWagAA41EP/i1QTL6bRVBnURalIamm\nFbKS/rXl2P6mUUlZsc9nPFDlT55s/TXbC4FKZgz7AwUVjDKfkruvi5qTo7eu\n9xEM07QtZ1M7tfed73mFXb4ZO93L4qxoTRpKipKX24EdJZYVXEcUPNuKHzgQ\nW0+mEp1wAXICrmtHr0HIi0BJGI7rmRLzR7G1wTrYZov2zshgf+IJd+E49Nks\nLBFpHoWDbxps3kSGJHBgn5jhm7OZdm2SzqMCOvSPsy7QLQTJDxyHaOqITHDN\nZ5MGNlChs+pp7WsXgtH+LTj2BTMJ7yjVLstED+S+mNNmzqHsoRoDUn5zPqBZ\nEeX1JCONGX21LT5+CNpKHc6DA/l32jaiEMPtmknIk1oHnlVwNjPSqvpyswLw\n/QXacJfPZ+s1vw90hAvoB9pEcT4ybuVYIIIK+KNDlduFCX5MixibGgtbayj3\n5rRI46x1p8FdzC2Sz+T3Iepb6xVCOiS1JOgbQWsm8tzuCv0fw0apcQ8x8+jD\nx18mpemOUvxNMUTCLldY4pQGXSjrsh/tt891VQkxWwAx/i+F1r7GTdQlvYFg\nk8tRVjJrbIVEjlX2Xhm4Y5IWqgQiFWP4Q3gWDTOBjldskLP0tJOJtj95Q8Yv\n0Lf5oetsIKAzWLWxw6P+RfHvWVhthSOylmQdPqSnX6tUznAGn7OGHKToxPaH\niFU0\r\n=VG2i\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICGkVJMv6vgyVVP6szTjl/MMqbKQz5wfyR1G4aQkXv4hAiAKv3GtJyY1UNON7tM9gQtAFQHJwkY2V9+A/5jo6qwsYw=="}]}},{"version":"1.19.0","date":{"ts":1547564979646,"rel":"6 years ago"},"dist":{"integrity":"sha512-dEpBCtr656v/HSpIbkxIwtTTk6Wbkj/weUzwdjWKLSMHcehTc+Yw/iCh0falGKrpi3jkz4ph4RwMiKa6WdtdJQ==","shasum":"e8efdc0e0b20d8e62ade1ec641ef7addb1b14e24","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.19.0.tgz","fileCount":48,"unpackedSize":14526913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPfe0CRA9TVsSAnZWagAAwUYP/j3YRNxqD0o6FxiTExt5\n+R8zUVd6LTk1gTEHu/1IxBkpjrh/+qixIC0UViMpHqbJ7iUKPNZVXEsJAjRg\nM2LQ8Qe7zAARVLAfZFcYv9RSoBnepcudJS/Di5bQskIxYtFJ7Q9hiDJhe5Vt\nnVgPaaXr8uZtqrzF1HaQMKa+cG3HVPluPmAJUloeuvi9O5jZhzZi9PF+R9Gs\n37Yzu4WpKRo3mRCt7UzhkhnPEI1+EMWi3LhwPQ8sjrQXmGkTRJPK5/i5XcqY\noR7VQBN33MKRRMuOuNZG374DUXDFKY7hKNAhcT9p2qJUfAL+g8KBaipl2N07\nhebgM2grchfbG9aA9TCxsm5OZVTw6GNmZjqvbQ+Cqp99LIiuIhDFfh07oELe\nEdqi1tXeAqcY4B33NHSWSSXMOQYEHYTgCsqmY8bRilWMSofNlQgPk6wJQOgt\nId1DveMeagjX3CVVLBccerOcfrjBtN9qCINniCpif6xJeSofy+/CTAXczjAa\nHdGiEYNh4MKXDkDb/1vh1iIWaLjI5fUqs3a9dTiT2ENmBXBuJgo0MFXWPy6G\nZshHmjYv4Omz+zfP1GHaegl7nEytr3MOVnyoxU6f/xZ/QQDSNEWHrpznnAGt\nTqT0gNiJINGdLdN82kLe7GD25fjVvFgrXmEBXnZ9ek73Khzs/R87XXoIFLMk\nZuRz\r\n=PU1m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLe4hHIVBYd+EINsCBiK2WlU05k+zSnrlh0AwwkpXX8QIgK0lu4NYrhb6YjLGlWySRe+Sni+lkV6gIC87KF4Jzpyw="}]}},{"version":"1.18.0","date":{"ts":1547495020073,"rel":"6 years ago"},"dist":{"integrity":"sha512-kolSI49ZWHsGf67VcSE1cQ5vMezAXEMM1auhkvY5HSFiJAV0qqT/nPW5Vey8PvaQyNaUpkjOmQ3TtmGCVmdxcQ==","shasum":"5d9806b2e63975bcb583267cff5d35e5f396a17d","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.18.0.tgz","fileCount":62,"unpackedSize":14537571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPOZtCRA9TVsSAnZWagAA+LMP+QFaF28ExBHYpmtpM1ec\no2w+XuJGe722gw6JP3BqCQlY8MRGhkKnSdLL15wl/tq0oWfItipWveuniSB8\n+ubbZ/UID4SMhZSgkqtA99F1VN2aowMOsKNpcivf7qdZC4u2Yo+H3ytqQ6wi\nuHZ9g6C/uTUkBLMnltZy3UwgcRXbZpNzLLgUosOFDgQDHtXlHeGj3mCD4nod\nuLZiJHYIF7Zl44zJb2hRc4CG1e4gE6dtizdUutDW76nUbdfi8XBQafEYBuyS\n0BIKUHd3KaNPl3wnoEOW/64hDDPsM55hLLZzHQXZPKQIWr4E8Q5/ORfpHo9W\nkAJzJ7nAXzqRvBFN4GUzcPw3jJfEyg8uqMfPXSfTfdCHFfjadRewyQhOfoUm\njgqyu7lLq049kC0t4tBOZ0EfR6L/qcd+MnD9gN7WBYXEWfn92atJSb9sCGqZ\nk4VC631JHOGcXbd6nHDQzs2KF6+pdbu9YBdSa7CCCOuu22ZDQCoTg9sQiwqt\nONVH6XE1LmTr0GpIgfIe8+pp9xd4V4ezncuS3f9dSm+jDtv5YbZeY0xlUulS\nrrC8AqQfcu40RMMlnvRZA2KwqJrgRoWEtmoWN2lhnfJoavkD0JaqtTSVnjJM\npVNZqt1YwliNw6yTOv4vmbF3btToJySPS+1pdz8/v+TJzg0uChmgQYZJOOiB\nJj4n\r\n=zbY4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBKTQTDZM2CCnCC9xHzh8NixJSWod2kYhcdd9oWfacGnAiEAgzam2BreMEqiZdRsaarvI6C+DGIj4Rhr8gC9sEtMF/A="}]}},{"version":"1.17.1","date":{"ts":1546916460008,"rel":"6 years ago"},"dist":{"integrity":"sha512-Wyqrv6rzN8eeMUu/6UjB8UB4L0L+FTs7KYqCMARZ5WlNqhInAmw/fu52ptsNUwDR79pzVlSLEL28pQloaOjCYA==","shasum":"9d9bb522fd97c4b1239f026a9dafbc6de0178c75","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.17.1.tgz","fileCount":48,"unpackedSize":14504913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNBJtCRA9TVsSAnZWagAAkjEP/18IgM5HBeXp5CDnRx9K\nFqGfW+1p323Gdp29c8+wjWtDJpi1uENjvoiPxlIh992UMh0AZFU3xZGQWJYP\nWYqWw4Tz67C+tMijO7eiw5/mLNX/wN2T1LUQf/womO4izLnEoDnCGcN4Ki5q\niqc6enN9kfzR5dy6z4WyKutusWoDxO3TjaBCj5GAW5kspZkC29152PHvRo/0\nuJ2f/Z5lreOpAN65j5n4BgxSRA6M0uMV2SuJQ0UlZwyeQyoI0aey2NmPcPY4\nHezPe+xxnVvSbX+KY0RPqjshJyMs5vxosYJ48b3n16n8Ft13hUWYMm9IaI8O\n1sokAHofTOoy8SyFOuDWJ5v9BHp/UHELDd7zwbcpaqnQp/gRcuWWb4b+1CIz\nNmc7GVbqZJWnK3GSvLfEjR9/pU3s07mr4lPTr+CB25NUYwYXeFXrLRHjxH4S\ncBgBe8Nd/UTe3FEbAuKbmgxlSsm03sFgnkZcliWkKiGJwq2yAOUuHd9UsR4H\n+eKyad5S64Tw6hARuQtaTE0iJPj0CQirvKp8uNgPVXtpVkeX52vWLzXc/Nsi\nXXCNugoAMheGBnDYqY/wWfutAo5Ixq6JjqSeFJfkgzlRFPZfGYrZvzoundER\nl554EZ6zbGP2nXtwUGHAS0/Zn3U9T478Xfs/QFmmZoEV8DFT7oxUNEIm6u/5\nKfDP\r\n=M1Ta\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEsqbBrcJqnOzM88TLYmyQ+5E6jqZHLYnwSdmojE1GtPAiAtJ3ztbP6EmdI5CMcZ11AGD6WxR/nVIYdbp0vqM/nBVg=="}]}},{"version":"1.17.0","date":{"ts":1527379537350,"rel":"7 years ago"},"dist":{"integrity":"sha512-fvtXHhrrDuRVOZ9qzcBpa9tuHA3RgQGzwIp4I/CHyg+nBV4FkV1DyHfRLYW0ds/OW9bTbYCC2iLxsxsDKu4aFQ==","shasum":"af48ab54f83badd81d6114f3d4f7b0af6a0d839d","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.17.0.tgz","fileCount":48,"unpackedSize":14515234,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbCfZTCRA9TVsSAnZWagAAaE0P/R+5hE0dyqjKDjFsNLKA\ndlqBv3Rlk9AZeCkK/O2UQd0QIBTtKwHecN3J3Cx3iB3Ab7mSXAT5srYastNN\nC7c9uPnbGtZXtwzxnds0LFEy0h5xVHIVVMgt2xKjENYcPnjd2T5xTtzgQ8uk\n3Es2EcCE4l+FEjDKkHDbbCqhnneBYGsGxeG5cytR6DV729dXehIYvgi32Yhr\n7ECr1/Cp4gOl2oQ3wSx48jDOANd2+n3JjpqgnHj7BxDckI68C2QQSbkohFwA\nXrLtf9kFmoKh5f3QUJ1f1PuL6BKDRUNQG/VeeG73q1TMs3IpSDbjJYjInfv7\nil7BrUM3Df8ZxTuqIBnR5SM0KG9bx6OO3xUKb/z1Irw+geZNT2qK7M0qyduO\ncJTMWYJdHwf3yKhJVqA/dI4gc2jDKRCnFgeU49fWYRxcQblhh5/XWapPLQMp\ne945yWIaea/mana1SeHEJGt8LHoEzlLLQaf9jztLwVGMnS76tNguvjP/soVm\nhrGFOij/AtYsCRRuMT1dZoBbXvZFRF3IvPi0T9I4tyIkRyPlqVNn8rvhlJrO\nz3aAESd9fwuZjf5jPNgfmbO6NizdJ0pucD/dX3CJVhWH2ioX4LJYMXffN2Sp\n8B0jdyO8kPr38FxiOORghCncgd5LSX1KZn2rCLNA06bpvACEsuNtqkgVfvlV\nHm5W\r\n=1eJQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdlPtPNaP86gZKuqp9PlE1MUHnyztQDX0FhTh/DYdcXAIhAK/HFkoFvFbt9Kb7YKiTNFfeThLHRRezHvG9OV/iRYdi"}]}},{"version":"1.16.0","date":{"ts":1525874991333,"rel":"7 years ago"},"dist":{"integrity":"sha512-7T/0J9gsQDlgQ9O1UQ/aQ8Zlru+E8A2q8GPf42TCGe1dd6Yyr5xRclytXPDs2DGmjd3rGIBbsj1un3VeS3yArg==","shasum":"5fa225eef605cb716a698f7b09a6cbcb114ceb6d","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.16.0.tgz","fileCount":46,"unpackedSize":5946653,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa8wExCRA9TVsSAnZWagAA5WIQAKKLLkMcDRl+jU6Rm8D5\nInYosuZlh6htmw/9k2pp/uL7uMkv2HBtoH0+U8iPJ+d20efmWBeqXFPi3dgu\nk1Kv5aQKLuB50S1QogwB3PHa/exZRPvWoEz+779K9rI2CeYrQe2CmIf5XRSH\nZHSyAGJAWE+CR2TORhyxEVN1L09HYHX5aAEUEb6peh62omwU7paUilVD23LP\n7a6MT5uKOJDNVGmXZtQHVpgcw6WtmX7Lg70zfZVEZD71d060y9vMn5Rd/qql\nR5mXsh4tn6+rcQcGUuHn6Q5TzT3t140Yleq3joZYcJd0Nb730PAWfYfI+kLe\nxiayv2mghcfWSd0cJY5lutuuiN2trFTI8kocmWJHTX1IAT8VqtAs1Dptv4Zx\nsXABYAWgx8FXWz2IkJJPrn1oaYHd/VXHaRfRNYkM2JR7DISBZch8Bfd1WG8C\nkK6n67wMCyZWcQT1aKal6ay0COug1qxblaGgVyKwiO2LsR8Fohz+c0hGEBgm\nab5tBBO7+VCHWcGHTlDnnJdahOo70cplh+pMoH9sjpvi0GatCTb15UtDVh1+\n6KV0QJmoi9nSJdMwn3P0vToOk7SPksMqzGWuORM+v4PoLZKPltjit9pFJ3rq\n+N2bsv07a1QbxYWP1GWR3eDXwjL+1Tfp67Ezb81kwhcyg8kfsQ+ZHlwokiuy\nVKiK\r\n=RuEd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDD83inGvuhi4YnOEGzMgPadw41VEvvTGA5ozcUKmFJdQIgD339QI9HWr4DYKvPXfj2CABoVjBU1RYS6NK2SJSCdmk="}]}},{"version":"1.15.0","date":{"ts":1525866980477,"rel":"7 years ago"},"dist":{"integrity":"sha512-Hd8UPcKbK5xMcmKa31ZyxhA2TdOe/IFcy0mH/ToSlewl7iKnCEpx+6t93oIoqZ/frxqLgizzMKdUf73meyMucg==","shasum":"2c89a7913488b2fbbb945926edab65a3c8062fc4","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.15.0.tgz","fileCount":46,"unpackedSize":5937674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa8uHnCRA9TVsSAnZWagAAOvAP/jHU0J6j8KyxrQ866n+l\n7fbBfJyBdKtI4b5Ul9JkqNTnC0UPAuqUVBtxGQ5ATGjI84kR/ImRYzYS+U6L\neMLQ1ZUjWonh/nwTHkI5fPbAq7mZZikydEYw5FLwR12jtCDxbqRDTXOoBarv\nE/dBE2FSrxTuAY5DVtvZzNS+UkOa7yui3E6HrFMNlMTyTHIuMfMGwGvS9fXJ\nvR1ph/Zt6dBSDK11rto6S9woDabcEJcZ8y5+/Oe6PHoXSrzaXxtC7C/ITP7P\nbX5xIQmCVI6Fc8UKtxgcLZ9Cm3dahwJZwfWNZVF42ksp2Z3SlvBJB0+4eYHn\nzdeejjHwIId7Tu+a970MhzkVJZPcRW6YNGJ0Om6v+ZCc7q2lkpG4SiHjbBb/\nvM8qaYepe0ijcR1JITmudoxxqs93Dp6O4dgmxywtoVR3o1w18+wR8j24ylSJ\nyY8tYNssPQXppkX0yJjjCbrTWnNoIsxNe0J+CTVbLQKfVcXF8ywBIYrOC6hp\namk++o9l+EqTGqarlyzdy2ONjHdewP2dnQM/onrMuv4dhuX+xz7sgmeMc/Xb\n1cFoCgetSiP9x82g7SVaN9pzs2I00ts6aveCvoLn0Fkms8ECqmTzOK+BwVW5\nEhyY525NwuQa/NflF3vs5n6xg3TuuB30/IhIJMp2O92VqFpy1HoZf1Mhm+iM\nW4lV\r\n=EnGQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFK1ShSUy5APSokwfVV5JFp7DOwTFLcadQReoxEfkbGSAiBuJ48gNcJ4IQnN7U4U6BzJO6xVAucEvCYAslXO0dKoiw=="}]}},{"version":"1.14.1","date":{"ts":1525035538466,"rel":"7 years ago"},"dist":{"integrity":"sha512-0UfrQEUuq5n4jKJssbZbZM6Y5lnyE4AZnBvaVB81jJlJCR2paw9oxDLuHGyhcNlJR8TN3n+0zVjM5ERYPwI+MA==","shasum":"87a3962f8c15e4592c24e1372d1ace6a70f5b954","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.14.1.tgz","fileCount":45,"unpackedSize":5913265,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa5jIVCRA9TVsSAnZWagAAl7kP/ifgaIJWsHkB4jjfjXwB\nJykNgvCqfJ6U0Czs4Q7E00qUn6c9Y4TjOs8x/fJ7BlJxSHIQvh/pRXjC4f6H\nqkMT99LMTOtnBHvGgKg325Ez8pdNmsvtQvijzJ8WwZX/vJIqFDwi+MD/ewf3\nE6/N+feZhMVvhz5x/PS3Qo5QNvqGzhVhso7Su7mMor22/9rw+4Ojat/j7di/\n93zh9lc7BUIVM8fTeJtkmsNzzZurrlgYL9o/YZ0m2Xw5PB5D2k5jZhrDapXB\ndb0gbXDkW+POtYvGdmMeGzH25ucLkTbeKVdA4py9qG6O/CDpykOL9vxmPwAQ\n5CZeiUZqk9FdYd2oCdC3Nc+ddy1Bvwgd5VKTeWU7Uqi8dh8G6AGqE56qGRhq\nbwWYbMfGmVs4YSssXZH1f3f8u02ruqTIGCxUBSFAkZebnIOcJgc1cnhJsy8Z\nW/ojxzTHM8SRyGWaKT5VOyKjLvjs0mrZGxvYg4jF83Ru3YhlsxlbqULy4A8R\n5yp5Ag0Klx4ytlITtD9ts5vRxnGwvtfyEVeMS6KgJFZTvZHmN1EbL4H9/X7g\nBV970VVFK2omOOmYKUiUR7swt1jnZIdoM4xC+vvOGP6hfXKo0Ncee26I9ZrJ\n243xa29iepPZ8rwd/eg4dF8H1b5+lBE/cTJzn2zjkCP1/9q7IIaHkr1rohIy\n9t2E\r\n=0ECs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHIRxZsIYc4MlBxEKLQdigbh/H8vhTN69F/U+U0CtVwwIgDSjsag+LvE3UYHkS6Gx6zu2fQLW7209//nwkyU52+Xk="}]}},{"version":"1.14.0","date":{"ts":1518402734981,"rel":"7 years ago"},"dist":{"integrity":"sha512-pnMSD0idmfWmiygCp9oZ4JHSvahTXqSz/Ho4ZDrVEqjH6cssaMD+4zCHk+5l5Fl5BkpkFu5lRnZFpCjfEWQlhg==","shasum":"e01c2cc82ef87db3d7ab3635092e5d85f45df9fc","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.14.0.tgz","fileCount":45,"unpackedSize":5912438,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCd7k4zfk2f4EwgmGr7ScBF9KvzDbxSYfR6bFSZpmh9HQIgDDhDB1MGsVCn/22Fff6RFdJsroaAO4BJTsWErwjyEgE="}]}},{"version":"1.13.0","date":{"ts":1517279057113,"rel":"7 years ago"},"dist":{"integrity":"sha512-bs3cW1uZz+jSnpkePCyW+IsjhvPI0iWtCIAfXW5f/e4KrupqOn/xiQFCky/j74IyiJT6O769sh2+WrdvEpF4xQ==","shasum":"6271bd50a0507c143de126865630626e07f87b2d","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.13.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIpo8s0TiXSj1hLu3b0pgAQ9viKmjy9X40sPxxNA+AYQIhAMutzlZt7EHt7Ybi50oMU+drdWkmcbNL6RZE4uE5YksG"}]}},{"version":"1.12.0","date":{"ts":1517163084057,"rel":"7 years ago"},"dist":{"integrity":"sha512-Rs/fdaNGPR8K16kieJkuGRz6f/qychUPvNQ30Qh3IMM8oMkgI/LiK7d5q4MnG1Cwe6LfI9uojot7rCbxAuK0DA==","shasum":"2f8e6cc72aa1efda5264b6b1174fe06f3df1def4","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.12.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGeuOlk/UvZbOYGxJY/gDJRqF/E13jcsKNVNJZbfnU9fAiEA0uZNUyGQPdLiYzwPVg10g5/5GnC0G4+yrZWGFifo4FY="}]}},{"version":"1.11.0","date":{"ts":1504747568468,"rel":"7 years ago"},"dist":{"integrity":"sha512-ixWOxlicdjitcrs1hBHlGBZs6zMizRyI+kLlc8SX2ZyErCk+VEuhvxtBpOmny2X7qfoka58bDiAlg3FdTFghUQ==","shasum":"0c7e413baf0de9a106a31dcd0e5ab7557418dc1b","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.11.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKUwfzdhqUCq+SkJqFIB3Cs2BQz0EGKrzi99nKMoWOYQIgNGwGycMKHUR67FpfBz/brlFpe+RMy2GOxaCss68sIh0="}]}},{"version":"1.10.0","date":{"ts":1501935158161,"rel":"7 years ago"},"dist":{"integrity":"sha512-zBO7fa3kQDt+mgykLaKvkWq0aFKc1ULDhheLJpLHiESDQmaCo3eF6S/1VZfBy08Mf2yfvr53sLYKeiwAa6cxLQ==","shasum":"3dc12a3a696d0e9a664cf4166caeda2e40fbf7af","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.10.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFWPKiTtUH9uQZwuaUVFIy+871we8Jlz80RKEwT8mwIqAiAzcEohJ9yuFAVvX22fu/hdUcfK4R2mDxZnoc2GEn2AKg=="}]}},{"version":"1.9.0","date":{"ts":1501934163796,"rel":"7 years ago"},"dist":{"integrity":"sha512-DSLMTXeFQmk6Vb6mTnYib8O8l/eUpEBmCqhU1/mmRB2Mj/6WqMX+CHIjnKrHkO6r4SRvisp3Iw+D+w+aya24FQ==","shasum":"437a4e384aac2057e19d759727df61d68ba3046e","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.9.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDi/FX6GZKReMjkK/FxBHI4u/eKYOQUoRdhOGKL6rRH/gIgVoOcG8isJoSZMaZeINRjOFSNBpiGr9WA2BlWH5BASEw="}]}},{"version":"1.8.2","date":{"ts":1499387073201,"rel":"7 years ago"},"dist":{"integrity":"sha512-A3TfmGMS4LxGR/Yq7n0Zl1U670v2fieE/LO6e3i5Mm9awTuVHnlNruOFuQ5fxgi6PfowuAET9IcAF8K3Ux/wzA==","shasum":"cf5927d3c8b2db32fdeb8e62895f8aa3dbdf7a53","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.8.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbsVhHVJGf7LK8RCHhH50L9mrDaku9bpRppi9MvvFvqQIgS3IAZ0dWjAfQrePeMcLbjre/yB7n0MmYSSIOKZt/KZ8="}]}},{"version":"1.8.1","date":{"ts":1498568596093,"rel":"7 years ago"},"dist":{"integrity":"sha512-4+lFEShxxK6BOMCy4303u2HM7TxxydRuLcVl/FHH+fblywLTzCT5E9ZhtJ0GX1YuXdqA5V+Y3hLu54+kQsf/uA==","shasum":"4eb5457f8f5a9d7df01080f0a996b91e80e58983","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.8.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH4CzH3wjlYhMCKOti7iBQNWYus2xUorFyfhUsSHfb+4AiBtvMdm9Zw/AIHmYjUWc3LELJIHZbO48qXLuJ074ALe5g=="}]}},{"version":"1.8.0","date":{"ts":1497749645787,"rel":"7 years ago"},"dist":{"integrity":"sha512-sTREq9FfL4h0GgSfmPDjW+iS82Nc0zOq6Q11FFQhPbmgCDPaX2/qhIIZwtAXkKHZPexJL6SxAgfDKA16V7st1w==","shasum":"2abb0c1e0610d84cf0bf457929c66be817738422","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.8.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGj3IqawSrBJD5m/ThR5ptcN4w9MPtUq8ES7+4FKbe+vAiBBxAo0rP+wu9vzolQ0pCR+ASrM8AFe/YBt+GB2tqsr1w=="}]}},{"version":"1.7.0","date":{"ts":1495589547762,"rel":"8 years ago"},"dist":{"shasum":"00e789670446d1d099d0529f854d8fcb18a09203","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.7.0.tgz","integrity":"sha512-IMv0mdvO7aevrxk/FsruNPJdClANnKWZeWV+MmjJD1k9kR/OMDTM1iP1nqOr0NjL6eiJiY/AOF3wTbWLBEfC1w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmaU0C/6PNUihVErVDYkNszScRITtahfP6098rsqYKOQIgV8IqcqdxxMv7ieaQAZp6BX7sNpWA/W1KdE74yRdatDU="}]}},{"version":"1.6.1","date":{"ts":1493589293456,"rel":"8 years ago"},"dist":{"shasum":"85d16f3978c178132f32d6c1cb318c05ce57cc36","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.6.1.tgz","integrity":"sha512-Y3Fsc/8r/RzPw9r857C1u7UrlHD+oLwy/9XsBkALokShff53YyW/RCD++57SSIaFiYZd9MZFx1IOxKGY8Ta5vQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5CHe/9AME97ydRsPmv2PEaKrOnpH1FLOxIMjbnxSuJAIhAKgROkzzNGEz216QtDdBlgzASPqrAw90V0U5TaoG3exb"}]}},{"version":"1.6.0","date":{"ts":1492872797497,"rel":"8 years ago"},"dist":{"shasum":"5e0113a26ed2a939c7f6bd8fbfa1c1c63e27f7dd","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.6.0.tgz","integrity":"sha512-rJWaxlHGahMvg/Em1/kHgEE4vjVteXNCApyTVeYyWPzIJQQ0w5M2UYD4JOMY0TvvEKCM0JBn8yQqet6mPK9+Mg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDozlIIZF1StkbbA1Xxa80klBzymYLIn9kGaPFfdLUELwIgHmPoS3mxt1aQUDVUTpOF5nMhmNW3DDSVDx4Wz7SEFn0="}]}},{"version":"1.5.5","date":{"ts":1491996915489,"rel":"8 years ago"},"dist":{"shasum":"f8c7b6fa751f85f87a4ed3f8f29848ede7112f9d","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.5.5.tgz","integrity":"sha512-kOo3PLsD1661gcf0C6dNtG3GdWoXZnk8hpiFPYnW76kDGSoBz4XbnvjHsCpzCvhukV9QiLsELb9CnVhW24kF6g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB0TPaa8tm7Stq8kJNSzxiM0prm7I+5Kgf3nM/1kib2VAiBE4GC5f5+otPvxWnhBP/QE1JyLJUK9rZxWB2i107RMfw=="}]}},{"version":"1.5.4","date":{"ts":1491010782092,"rel":"8 years ago"},"dist":{"shasum":"67ddbd78e860ac07c3ea14798ab760dd3445d1dd","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.5.4.tgz","integrity":"sha512-S8Hc10We1GqKwZyOXDbWU5XlRQ+TrcHgptkTVEP4QQfVbu9dlwkzetob1BuGYfUKdCEtqMjxxFB41KPhYWa4UA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEMCID8JOWE14kEUINf1gn6Q6L3+zB6NCRHljoNVL9HGPWVYAh9G+RMcMweeqWOZBG1lBj7BsUCGr4UR1240wQh+Ftof"}]}},{"version":"1.5.3","date":{"ts":1490749381563,"rel":"8 years ago"},"dist":{"shasum":"041015efde1e8c0ab2f5115de8a8afc091db83b9","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.5.3.tgz","integrity":"sha512-0HYCQ2Z3EUaYTRTkBGpsVq86gmy590/sMVEtrCy//d677oqLgWG+wzx03xvilOM9T5nVQTp1VXaC9fj5cYffYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQYWkvSr15mCPKF908NHkzPzsgEdbZZ6yvpMxdMd9HCgIhAJC4LJHvIsfp/bzAKU9Y7BlnukKm/Ah8mRDwEimmp0vC"}]}},{"version":"1.5.2","date":{"ts":1490700558420,"rel":"8 years ago"},"dist":{"shasum":"6e70b112d7852b1a3a8acb283a5190ac7ac12682","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.5.2.tgz","integrity":"sha512-n7oYwsHS1NNJi/koBOV67+J3w82gD5pa+97gsptvA0DMUzVNrx/koDNrHeKMzvcYZoW4G9Hod4IIhhG7WSUAwQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUXZw51L73d5YigxAo1eaqFRTFbkW03ZNNBElY4UlY3QIgSe2hOIYdCaBRRVBrYPvLIJ0W45p3HYELR9WA8ejKvRc="}]}},{"version":"1.5.1","date":{"ts":1490639560344,"rel":"8 years ago"},"dist":{"shasum":"f880765c389ce650f88b41d48bb8c9524e1c1289","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.5.1.tgz","integrity":"sha512-H0u3IJ6RKXyNXNftdEGNztc0GTqzM/ZfUORw1v021RMDF/1eaPB1oX1Im7ole2ckUb/w8QpGFsesqSNiqSy5pg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAqcKwCQSY5xqtcVK+ZjxxcKXHm13sSpP1vhrzsXM1srAiEA4NJ5mGMKIuhzPuwknk0+a45fT2gU5zVTV2SR1Kux76g="}]}},{"version":"1.5.0","date":{"ts":1490465293318,"rel":"8 years ago"},"dist":{"shasum":"850b485e8bd51aa699bab5a55a4f1172fc72b6c9","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.5.0.tgz","integrity":"sha512-gPabDeYISRengRozKsIHIuGqWVAiY6oSPNAvFB3RV4fw5hzpiLxZWf72MCf1GvGyByRZtZSH19RpFLEtriRQsw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDMdeQv7fZsWY62WOaswiRp6RANOpxxW4fwWWhHSp6vkAiBJaaVRClOcgfa+bddrVmUFZIBYqLrSOJQwcNV/Gi956w=="}]}},{"version":"1.4.2","date":{"ts":1489348259446,"rel":"8 years ago"},"dist":{"shasum":"e423ece967a50336463d3e158445c3bd1b3a8b66","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.4.2.tgz","integrity":"sha512-tNjVv7BE/7WFw4NzfTlhzgJzRyJmMN5DMoZe2P2E3wjUe6Mcjgv5oyNfr/5ZiEzR2Wm1nsG8TEJXAwU+IpzSKw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDk9fBQOSmbuhKd7CEvCsd6+K+oX2sA1I/SUyzDsI6xUAiEAsjXfW509fOd7xGdhgQa+QXxvd4z0kPJF2iun1qwQheI="}]}},{"version":"1.4.1","date":{"ts":1489327596656,"rel":"8 years ago"},"dist":{"shasum":"d758296fb910951e838e07425bf254d2d1be57ff","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.4.1.tgz","integrity":"sha512-CY9weD62/CjjHqMBrx62WfijsUumcXTZXAjIzkEQ7Ga1c7yvkhSohEoNiSof3QQORKophFAG0S9VpN9ErxS+YQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCLplqL4b5E9uwEaYTvq2RLwTY9nHC4J7/l8owO+axNAIhAOIne0PQ6T8Hj0pIZa/eHOHZscN8UvQ2intAocy6Q/5J"}]}},{"version":"1.4.0","date":{"ts":1489257283735,"rel":"8 years ago"},"dist":{"shasum":"d71cec7387e6cc16917bf5c416f7ab12fcc05678","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.4.0.tgz","integrity":"sha512-2sU+ewqgH2w8AdT+2Oeq9UGDol+T2ABRVs107CIru+uqRs7BgVtqZNAoBcV/Q4mcgq32eJPLF/KuVHfdUlIFFQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG6s5LNdtNomcwGqs6mAZui97U+QrHq89XoMoU11mCG/AiEAxeTpaIyiHLe5OEaOXhjNEF/KCaqtNowTc/6dU8I3c88="}]}},{"version":"1.3.0","date":{"ts":1489248191375,"rel":"8 years ago"},"dist":{"shasum":"449e5ca0a94e6a675366497d801ed8f926955c72","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.3.0.tgz","integrity":"sha512-R0WygywhXgrTOqmybhze3kJKQACv8q5+QvtpIqRn8sCSAvlB+XjcChjBLNHgpGnn0+h9FzaeZ97a5GHbbon6eQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCh3vZvQ2B338VhWOM0Vurn1cBu9FPzpiov/EsMhn9ipwIgU/Lbvq1ZilUz1qI89JDStuMIxy4BHgdUzuf9IbOVidg="}]}},{"version":"1.2.1","date":{"ts":1489148689866,"rel":"8 years ago"},"dist":{"shasum":"9c713f1390b405cc12c5c93946014ba8ac8beb09","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.2.1.tgz","integrity":"sha512-eTt5mVgD2uGGDZpgG6x5PA2JVwWcle6z8f3X9vFNENgfx3uQtzEiJonpnVK+hLB9guw4aQVxUBQ9ncN/hYVTjQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE+Q3UrsP1LBIMdchj2RDKsUMwrp1+ZVIVcrud9+6iZzAiBzDG3bYqX+myMN2AyPvQ2PUyPD+Yp40IBHvR6tv8qs2A=="}]}},{"version":"1.2.0","date":{"ts":1489112974239,"rel":"8 years ago"},"dist":{"shasum":"ddca340b9a5f9fa2a78b2841f22d5fbf77d87b90","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.2.0.tgz","integrity":"sha512-AsKUh+JF4oW2ZZgu5C+R8KysWtmLoLQwgKIGHGKsoqdxOf2DWj6e5kTgAKaZ6GIz5EYMBNbwh/JoDLW8sB+32Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHbheL2UsH/3DYn4u1qS8x83D8n56A5SxrGAOhW7VNhxAiAHUu0ST31YfSYewBrLaYxd0ulKsUjaQ3OweLzOilMALQ=="}]}},{"version":"1.1.0","date":{"ts":1488590855915,"rel":"8 years ago"},"dist":{"shasum":"05de9b7fe703a2a424ac2233d8b035d0018eedfd","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.1.0.tgz","integrity":"sha512-63MVb3A0puhgaGLTmJNfAf8PTlYVrIGZC0nyykrja8Y1EvJi1Fg5uT8dsVGfYt8Pe5fxGy3jlY6AB63GNDYIgg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3+nFbd8DdUwMfdZ8+d/hcYCiLZkOttbeHOAy+nFdbvQIgeCiGy7PZLgIOW/R2e8ESqKUc95JZjmiPEPUy1kLmv58="}]}},{"version":"1.0.0","date":{"ts":1488124645827,"rel":"8 years ago"},"dist":{"shasum":"b3fe150290e3333d373b1b6a21353e04bc70316c","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-1.0.0.tgz","integrity":"sha512-haLLNbm16Ef7rfqhOB15XVLmJm15NIb153CW+LJSlVUvu2F66PgS10Dzb7PIMPHdckGT/LB8JTpiqdCDOfUvWQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB7e7QS3uLTdpZV2+dA2hLmFcqOOuQqH128sByP+0hNJAiAafGLQigHSi+TSxOszrvZZdHI9Ma47zubJynoyjO3SgQ=="}]}},{"version":"0.4.0","date":{"ts":1477085645208,"rel":"8 years ago"},"dist":{"shasum":"f18375e3d2feed3c81958fb2dd5216215cb76b61","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-0.4.0.tgz","integrity":"sha512-69W9yPolDoJut6roTF29jByTDD1smu6M1dQCqai9zmr+5OlvIoQTRqkB/m1JQO9AA1SPyS53R4z5JheltJYdfg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCh+2YXXo9ljmTLtJDY9jIgNr9PkirbL1ZuD6d2QGhnwQIgbtBQSgRAfdsb39Maq2UOVaGRbEFBpHmZnJKHWiDoB5c="}]}},{"version":"0.3.0","date":{"ts":1466860622067,"rel":"8 years ago"},"dist":{"shasum":"ff586ebcd0a240f6b65457b984564314b6d7453b","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-0.3.0.tgz","integrity":"sha512-XZmnS8jcWK4/rQ54pyFYoop3/z8Kzeo0WeosDUOUWtA3B05UaqGjpeCtxwo/pxpt1rVj3CQtUbewTKwNK76eHw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZWwN+porgY84FmxpCIwAO89ppYAj77WYR2oMTVxosiQIgSQQB1DOT/OlQax7d4Fu1i2AevrbPeK5ifQGTlIqDj2Y="}]}},{"version":"0.2.0","date":{"ts":1461201911960,"rel":"9 years ago"},"dist":{"shasum":"e506f27b5a1cae8b949651834803361862d32880","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-0.2.0.tgz","integrity":"sha512-+Wn9MbkqRlvfAYO59j7EKsfTKp1JaJPpPjbSLsQQdQj0geK4Zb+IgUBaVY6DrRG4U0QmFi+ls1aHzu0HKPwaFg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+HsxPAXOmbCWK0nQA6/67liuRMxHYsizOt/QcMllX6QIhAN3F4IR24gTGHP/G448JJUqjH8qOHxjQos2PnZ0AoY/z"}]}},{"version":"0.1.2","date":{"ts":1459856514005,"rel":"9 years ago"},"dist":{"shasum":"2b5f796333eba87a0d5269e12f6c3fe9cf8fa42a","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-0.1.2.tgz","integrity":"sha512-OMJ8yCL7wcaGu4gHTv8ftToyQZ0TyEKbrKt5jMkKcdIg10uZR1EE2MRa8D0L9EuXd1+JTIzJIeNulqgxNrc7/g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnO0eY26R73zm0sgmqCIcRmlevwSTudhBwS7n7YsyEdQIhAPejf/Fjs0plO+e7ZZs9QiqWD/qdXA9vfWBns1z1vfnn"}]}},{"version":"0.1.1","date":{"ts":1459856245545,"rel":"9 years ago"},"dist":{"shasum":"5d4f4c7723b9cfb764af6d89d757086fa8c47bce","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-0.1.1.tgz","integrity":"sha512-IJz1vwHdEzoOH4K0y2NCPcF4zPgNvyN+08KjJBijq3ip8fmLlTr4lHW7TeJVNgRBZY2CfV5BpTFETF3DNe2/Zg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFpeqrpMgW6oneS5qQRC79Lzm2k5pM7HL8jACU2Gl4fAAiAYKORbGrNzlnIuTXHoR9lN7Hx+Jpy+ntID7AMvd3tKRQ=="}]}},{"version":"0.1.0","date":{"ts":1459818992100,"rel":"9 years ago"},"dist":{"shasum":"0539aa447c936acabfd060a6f8852b033d57b41c","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-0.1.0.tgz","integrity":"sha512-nQZoCgjWl8KAp4sT8BTbRL+atWcK+LIbySkeeeL7WtlK5oR9oQwsvV2A2K4AVHCXWLVpra5IQQSNUiLWzJf0EA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEXwP7jXcdD1oSB+if4D16hA0d8MzSQY0bqW0ThfDRnPAiEA4VjCIRtLa2UHlA9wyKm1zgdXoIufMns4ZSlRJe1eIYM="}]}},{"version":"0.0.5","date":{"ts":1459557333086,"rel":"9 years ago"},"dist":{"shasum":"85ef85f9d9b1a23608dba885cefb2527a380a561","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-0.0.5.tgz","integrity":"sha512-uCqhfE4U7nXV5HEjrhCO/g0O+QrxHNQxIxszVitOyI172+x0jgQJmJHVIqnK84TToqp/2jVG5097s4k9v5qxVQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzntPVaWSkAvcHAITxI8I3FBOulEr5yXmOWZnaUeu9rgIgHh1srPW/SG4cxYDfyx5qMhgkZ7ZDBCQ5YeQ6tILvrnY="}]}},{"version":"0.0.4","date":{"ts":1431779293466,"rel":"10 years ago"},"dist":{"shasum":"9e3f6c952c09f26101b6f764441aceabffa10258","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-0.0.4.tgz","integrity":"sha512-TVefYhHEBSgNcRD0QlxLsLoA7l3M+P9cHXlp9vnOkTN0sBvUS397OcmgYD7ox7QUY776WRIWqZOV8qrcWdkheA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEaVmrF7wYfleNY91f3724sVMTbr4vGhA4pZkehP2hbpAiEAqlCzDLeYxNj4lKJPpTjtTSEwffiXJOTanABfRMAH2/c="}]}},{"version":"0.0.3","date":{"ts":1425418010003,"rel":"10 years ago"},"dist":{"shasum":"f43b966fdc6715458c6bda8b97c8c4d116233d4a","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-0.0.3.tgz","integrity":"sha512-qiseG0mq4DqIUriM5E6G62id3kFB4aMLVdl2WJwqP0dqkT21Nac4iP4al+zO6gv+RoFUYan1pW00Ks73yBpDkg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDMdNe3+HBUOSJ6VRVgvHrtO+TzhW5JhU57kw2VDxU+eAiBw5MZ2WRC6XIaPJGEp9Het+CrvxOEGsZ/0FwYst4hV9w=="}]}},{"version":"0.0.2","date":{"ts":1425258827168,"rel":"10 years ago"},"dist":{"shasum":"9ee6f4ee22a5ece691efc6ecf36f8451f830e445","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-0.0.2.tgz","integrity":"sha512-D9Qi3aYwlgvaIeTxWvPD7NquwhWyYJCIElAN9ETWJ9HDzrud0TvfDv3TKWCUf/F2dLakDe9bbLYLBn5TDB992w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIETaN07UY+9hYxYANe6vY5ANptISKyCA/QTJfE4AnR0ZAiBcXi18Yhkf+tVTaGdFw0D/UDY/q9Mursbct9XJnFtWQg=="}]}},{"version":"0.0.1","date":{"ts":1425241883711,"rel":"10 years ago"},"dist":{"shasum":"3521d5120c7541dca25838f081ab295ebcfa3140","tarball":"https://registry.npmjs.org/xlsx-populate/-/xlsx-populate-0.0.1.tgz","integrity":"sha512-AfQpBcFHth41icJUcdS6LTpcVNNoW8zHywLuJ6d/rRUETaCdk/YdK20nEO6z0W9+35ovZKLeZfEcW/3MMYMTtw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDbJ8C/xyzxs4paHfP7jInJS/foH7vojnEY0UaFwsigQIhAMZuXzta0d5eHgTh/DykMyzz6MDfO9aC7/ZM/iTbNjuR"}]}}],"deprecations":[]},"packageVersion":{"author":{"name":"Dave T. Johnson","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mZDFjMGU0OGNkMjkzZDAwMTVmZTk0ZWNmNzdhMmI3Mz9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.uFV1MVzWyx62cWSQ8-6OdVQcV9wkg6Wb3Lyh2KR1Nr4","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mZDFjMGU0OGNkMjkzZDAwMTVmZTk0ZWNmNzdhMmI3Mz9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.kKDuOWJCcjqYIoJ6q3dazmqoz6zxDJdbOoAAiUBqubI","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mZDFjMGU0OGNkMjkzZDAwMTVmZTk0ZWNmNzdhMmI3Mz9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.ONLhwVrxZOleaS7H7B1-neOkFPM7h4fRCjyaX27cqL0"}},"description":"Excel XLSX parser/generator written in JavaScript with Node.js and browser support, jQuery/d3-style method chaining, and a focus on keeping existing workbook features and styles in tact.","homepage":"https://github.com/dtjohnson/xlsx-populate#readme","repository":"https://github.com/dtjohnson/xlsx-populate","keywords":["excel","workbook","xlsx","parse","generate","populate","template","browser","style","formatting","encryption","password"],"dependencies":{"cfb":"^1.1.3","jszip":"^3.2.2","lodash":"^4.17.15","sax":"^1.2.4"},"devDependencies":{"@babel/core":"^7.8.6","@babel/preset-env":"^7.8.6","babelify":"^10.0.0","browserify":"^16.5.0","edge-js":"^13.0.1","glob":"^7.1.6","gulp":"^4.0.2","gulp-eslint":"^6.0.0","gulp-rename":"^2.0.0","gulp-sourcemaps":"^2.6.5","gulp-uglify":"^3.0.2","jasmine":"^3.5.0","jsdoc-to-markdown":"^5.0.3","jsondiffpatch":"^0.4.1","karma":"^4.4.1","karma-browserify":"^7.0.0","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^1.3.0","karma-ie-launcher":"^1.0.0","karma-jasmine":"^3.1.1","markdown-include":"^0.4.3","markdown-toc":"^1.2.0","npm-run-all":"^4.1.5","proxyquire":"^2.1.3","proxyquire-universal":"^2.1.0","proxyquireify":"^3.2.1","replacestream":"^4.0.3","uglify-js":"^3.8.0","vinyl-buffer":"^1.0.1","vinyl-source-stream":"^2.0.0","watchify":"^3.11.1"},"maintainers":[{"name":"dtjohnson","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mZDFjMGU0OGNkMjkzZDAwMTVmZTk0ZWNmNzdhMmI3Mz9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.uFV1MVzWyx62cWSQ8-6OdVQcV9wkg6Wb3Lyh2KR1Nr4","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mZDFjMGU0OGNkMjkzZDAwMTVmZTk0ZWNmNzdhMmI3Mz9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.kKDuOWJCcjqYIoJ6q3dazmqoz6zxDJdbOoAAiUBqubI","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mZDFjMGU0OGNkMjkzZDAwMTVmZTk0ZWNmNzdhMmI3Mz9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.ONLhwVrxZOleaS7H7B1-neOkFPM7h4fRCjyaX27cqL0"}}],"name":"xlsx-populate","license":"MIT","version":"1.21.0","versions":[],"deprecations":[]},"packageUrl":"/package/xlsx-populate","packageLinkingCallToActionHref":null,"package":"xlsx-populate","linkingAllowedForPackage":false,"isStarred":false,"ghapi":"https://api.github.com/repos/dtjohnson/xlsx-populate","downloads":[{"downloads":47131,"label":"2023-12-14 to 2023-12-20"},{"downloads":30405,"label":"2023-12-21 to 2023-12-27"},{"downloads":31137,"label":"2023-12-28 to 2024-01-03"},{"downloads":51195,"label":"2024-01-04 to 2024-01-10"},{"downloads":50993,"label":"2024-01-11 to 2024-01-17"},{"downloads":56546,"label":"2024-01-18 to 2024-01-24"},{"downloads":53316,"label":"2024-01-25 to 2024-01-31"},{"downloads":55600,"label":"2024-02-01 to 2024-02-07"},{"downloads":49131,"label":"2024-02-08 to 2024-02-14"},{"downloads":57505,"label":"2024-02-15 to 2024-02-21"},{"downloads":57607,"label":"2024-02-22 to 2024-02-28"},{"downloads":57318,"label":"2024-02-29 to 2024-03-06"},{"downloads":60269,"label":"2024-03-07 to 2024-03-13"},{"downloads":63980,"label":"2024-03-14 to 2024-03-20"},{"downloads":58037,"label":"2024-03-21 to 2024-03-27"},{"downloads":49836,"label":"2024-03-28 to 2024-04-03"},{"downloads":56636,"label":"2024-04-04 to 2024-04-10"},{"downloads":57760,"label":"2024-04-11 to 2024-04-17"},{"downloads":58253,"label":"2024-04-18 to 2024-04-24"},{"downloads":53088,"label":"2024-04-25 to 2024-05-01"},{"downloads":53839,"label":"2024-05-02 to 2024-05-08"},{"downloads":59534,"label":"2024-05-09 to 2024-05-15"},{"downloads":60031,"label":"2024-05-16 to 2024-05-22"},{"downloads":59312,"label":"2024-05-23 to 2024-05-29"},{"downloads":62155,"label":"2024-05-30 to 2024-06-05"},{"downloads":58095,"label":"2024-06-06 to 2024-06-12"},{"downloads":60146,"label":"2024-06-13 to 2024-06-19"},{"downloads":59596,"label":"2024-06-20 to 2024-06-26"},{"downloads":57981,"label":"2024-06-27 to 2024-07-03"},{"downloads":56934,"label":"2024-07-04 to 2024-07-10"},{"downloads":61096,"label":"2024-07-11 to 2024-07-17"},{"downloads":63735,"label":"2024-07-18 to 2024-07-24"},{"downloads":63910,"label":"2024-07-25 to 2024-07-31"},{"downloads":64182,"label":"2024-08-01 to 2024-08-07"},{"downloads":59807,"label":"2024-08-08 to 2024-08-14"},{"downloads":58744,"label":"2024-08-15 to 2024-08-21"},{"downloads":65774,"label":"2024-08-22 to 2024-08-28"},{"downloads":63292,"label":"2024-08-29 to 2024-09-04"},{"downloads":70690,"label":"2024-09-05 to 2024-09-11"},{"downloads":66938,"label":"2024-09-12 to 2024-09-18"},{"downloads":69479,"label":"2024-09-19 to 2024-09-25"},{"downloads":64375,"label":"2024-09-26 to 2024-10-02"},{"downloads":66591,"label":"2024-10-03 to 2024-10-09"},{"downloads":63398,"label":"2024-10-10 to 2024-10-16"},{"downloads":72307,"label":"2024-10-17 to 2024-10-23"},{"downloads":79316,"label":"2024-10-24 to 2024-10-30"},{"downloads":62292,"label":"2024-10-31 to 2024-11-06"},{"downloads":134633,"label":"2024-11-07 to 2024-11-13"},{"downloads":80040,"label":"2024-11-14 to 2024-11-20"},{"downloads":77347,"label":"2024-11-21 to 2024-11-27"},{"downloads":75143,"label":"2024-11-28 to 2024-12-04"},{"downloads":57782,"label":"2024-12-05 to 2024-12-11"}],"dependents":{"dependentsCount":126,"dependentsTruncated":["@jsreport/jsreport-office-password","@jsreport/jsreport-office-password","response-library-development","response-library-production","client-response-libraries","client-response-library1","response-library-updated","excel-csv-read-write","chachalaca-core","@ideaconsult/jtox-kit","export-table","@framini/invoicer-cli","aipg","rexel","@egn/remote-dev-engine","@lskjs/downloads","fast-component2excel","xlsx-populate-wrapper","json2excl","secure-spreadsheet","node-dhtmlx-excel","kadr","prices","named-ranges","database-js-xlsx","gdax_stats","pdfparsutils","teamy-utils","ortalis","qpp-bsr-excel-tool","@momsfriendlydevco/spreadsheet-templater","@lskjs/general","vtuzx-core","picklesdoc","csvtoxlsxconverter","jsreport-office-password","edit-cell-value","@jleeothon/chachalaca-core","response-library","response-library1","client-response-library","sungrow-utils","erxes-api","response-library-prod","xlsx-encrypter","@cromwell/server","@jsreport/jsreport-office-password","bi-table2","@linkapi.solutions/nodejs-sdk","sungrow-utils2"]},"capsule":{"name":"xlsx-populate","description":"Excel XLSX parser/generator written in JavaScript with Node.js and browser support, jQuery/d3-style method chaining, and a focus on keeping existing workbook features and styles in tact.","maintainers":["dtjohnson"],"dist-tags":{"latest":"1.21.0"},"lastPublish":{"maintainer":"dtjohnson","time":"2020-03-01T20:36:47.441Z"},"types":{}},"canEditPackage":false},"chunks":{"commons":["commons.4d51a2358b5a9f89b8a7.js","commons.4d51a2358b5a9f89b8a7.js.map"],"styles":["styles.4f764514c9d1014452db.css","minicssextractbug.b7f4f77bf047598d73c2.js","styles.4f764514c9d1014452db.css.map","minicssextractbug.b7f4f77bf047598d73c2.js.map"],"acceptance/acceptance":["acceptance/acceptance.9f5c8cae376df06a5482.js","acceptance/acceptance.9f5c8cae376df06a5482.js.map"],"audit-logs/actions/common/auditLogContainer":["audit-logs/actions/common/auditLogContainer.b7d12f5019d57a2efea9.js","audit-logs/actions/common/auditLogContainer.b7d12f5019d57a2efea9.js.map"],"audit-logs/actions/common/dot":["audit-logs/actions/common/dot.84b37b5509755498dc97.js","audit-logs/actions/common/dot.84b37b5509755498dc97.js.map"],"audit-logs/actions/common/filterActions":["audit-logs/actions/common/filterActions.d2ba2f5ce35efa4514ab.js","audit-logs/actions/common/filterActions.d2ba2f5ce35efa4514ab.js.map"],"audit-logs/actions/common/spaceGap":["audit-logs/actions/common/spaceGap.e6e1ab69e48c52b17db4.js","audit-logs/actions/common/spaceGap.e6e1ab69e48c52b17db4.js.map"],"audit-logs/actions/orgAddUser":["audit-logs/actions/orgAddUser.f4a2698e58cc518f6c92.js","audit-logs/actions/orgAddUser.f4a2698e58cc518f6c92.js.map"],"audit-logs/actions/orgCreateTeam":["audit-logs/actions/orgCreateTeam.c96ecbfeaa89cb64ac25.js","audit-logs/actions/orgCreateTeam.c96ecbfeaa89cb64ac25.js.map"],"audit-logs/actions/orgDeleteTeam":["audit-logs/actions/orgDeleteTeam.8340dcaf1e68473bb3d3.js","audit-logs/actions/orgDeleteTeam.8340dcaf1e68473bb3d3.js.map"],"audit-logs/actions/orgRemoveUser":["audit-logs/actions/orgRemoveUser.9c6e3084f95206af402f.js","audit-logs/actions/orgRemoveUser.9c6e3084f95206af402f.js.map"],"audit-logs/actions/packageAddDistTag":["audit-logs/actions/packageAddDistTag.a6e4845f1963df082a6a.js","audit-logs/actions/packageAddDistTag.a6e4845f1963df082a6a.js.map"],"audit-logs/actions/packageDeprecate":["audit-logs/actions/packageDeprecate.6e4f95b1cb3e5743e358.js","audit-logs/actions/packageDeprecate.6e4f95b1cb3e5743e358.js.map"],"audit-logs/actions/packagePublish":["audit-logs/actions/packagePublish.705e975e0b25c06d73c9.js","audit-logs/actions/packagePublish.705e975e0b25c06d73c9.js.map"],"audit-logs/actions/packageRemoveDistTag":["audit-logs/actions/packageRemoveDistTag.6900f5afd631f6994532.js","audit-logs/actions/packageRemoveDistTag.6900f5afd631f6994532.js.map"],"audit-logs/actions/packageUnpublish":["audit-logs/actions/packageUnpublish.00b8f7664d41dda8585b.js","audit-logs/actions/packageUnpublish.00b8f7664d41dda8585b.js.map"],"audit-logs/actions/packageUpdateAccess":["audit-logs/actions/packageUpdateAccess.2c948b7d8e69d008e7fc.js","audit-logs/actions/packageUpdateAccess.2c948b7d8e69d008e7fc.js.map"],"audit-logs/actions/teamAddPackage":["audit-logs/actions/teamAddPackage.2455fd572d9b0c40dd41.js","audit-logs/actions/teamAddPackage.2455fd572d9b0c40dd41.js.map"],"audit-logs/actions/teamAddUser":["audit-logs/actions/teamAddUser.a955cf42c0f2e953fca8.js","audit-logs/actions/teamAddUser.a955cf42c0f2e953fca8.js.map"],"audit-logs/actions/teamRemovePackage":["audit-logs/actions/teamRemovePackage.b014d91ce524d1a16101.js","audit-logs/actions/teamRemovePackage.b014d91ce524d1a16101.js.map"],"audit-logs/actions/teamRemoveUser":["audit-logs/actions/teamRemoveUser.c927f182974940cf1db5.js","audit-logs/actions/teamRemoveUser.c927f182974940cf1db5.js.map"],"audit-logs/actions/teamUpdatePackageAccess":["audit-logs/actions/teamUpdatePackageAccess.4b336e93ef847d80b4f1.js","audit-logs/actions/teamUpdatePackageAccess.4b336e93ef847d80b4f1.js.map"],"audit-logs/audit-logs":["audit-logs/audit-logs.df7b7ebc940537babc66.js","audit-logs/audit-logs.df7b7ebc940537babc66.js.map"],"audit-logs/audit-search-input":["audit-logs/audit-search-input.5b01938bdb48ea5777cf.js","audit-logs/audit-search-input.5b01938bdb48ea5777cf.js.map"],"audit-logs/list":["audit-logs/list.352533283fc1bc12817a.js","audit-logs/list.352533283fc1bc12817a.js.map"],"audit-logs/no-logs":["audit-logs/no-logs.0fe32d8557ed1e1a0892.js","audit-logs/no-logs.0fe32d8557ed1e1a0892.js.map"],"audit-logs/no-logs-with-query":["audit-logs/no-logs-with-query.037a88bee4ca1cb50b57.js","audit-logs/no-logs-with-query.037a88bee4ca1cb50b57.js.map"],"auth/account-recovery-message":["auth/account-recovery-message.2beedfa97e4b6c44f2d8.js","auth/account-recovery-message.2beedfa97e4b6c44f2d8.js.map"],"auth/authentication-successful":["auth/authentication-successful.949948cbb71fab114147.js","auth/authentication-successful.949948cbb71fab114147.js.map"],"auth/email-otp":["auth/email-otp.9317e3bba99567066232.js","auth/email-otp.9317e3bba99567066232.js.map"],"auth/escalate":["auth/escalate.5ddac9339de8d378ef03.js","auth/escalate.5ddac9339de8d378ef03.js.map"],"auth/forgot":["auth/forgot.4b8257752a5a86d1becd.js","auth/forgot.4b8257752a5a86d1becd.js.map"],"auth/forgot-sent":["auth/forgot-sent.a3da0c49819a89a56507.js","auth/forgot-sent.a3da0c49819a89a56507.js.map"],"auth/forgot-sent-anonymized":["auth/forgot-sent-anonymized.2f5ad5f36d68dd9573a2.js","auth/forgot-sent-anonymized.2f5ad5f36d68dd9573a2.js.map"],"auth/invite-signup":["auth/invite-signup.bf94c772084415d655e2.js","auth/invite-signup.bf94c772084415d655e2.js.map"],"auth/liminal-login-footer":["auth/liminal-login-footer.b0a6c721462424c315b6.js","auth/liminal-login-footer.b0a6c721462424c315b6.js.map"],"auth/login":["auth/login.45c2761bcef7897bcf7d.js","auth/login.45c2761bcef7897bcf7d.js.map"],"auth/otp":["auth/otp.c25a349b9e9a6fc66ccb.js","auth/otp.c25a349b9e9a6fc66ccb.js.map"],"auth/password":["auth/password.3b6848fa2529361be5e3.js","auth/password.3b6848fa2529361be5e3.js.map"],"auth/recovery-code":["auth/recovery-code.65252306dd2b600e06b1.js","auth/recovery-code.65252306dd2b600e06b1.js.map"],"auth/recovery-email-otp":["auth/recovery-email-otp.4b5cce74f972ad709077.js","auth/recovery-email-otp.4b5cce74f972ad709077.js.map"],"auth/reset-password":["auth/reset-password.6b8d96e29c08f86486ea.js","auth/reset-password.6b8d96e29c08f86486ea.js.map"],"auth/signup":["auth/signup.e0228429ca5993f9ce91.js","auth/signup.e0228429ca5993f9ce91.js.map"],"auth/test/email-otp-test":["auth/test/email-otp-test.ae9e51aa67c3e56b2edc.js","auth/test/email-otp-test.ae9e51aa67c3e56b2edc.js.map"],"auth/test/escalate-test":["auth/test/escalate-test.317b63c4d51e7221e33d.js","auth/test/escalate-test.317b63c4d51e7221e33d.js.map"],"auth/test/otp-test":["auth/test/otp-test.0405239d3df0ec3fae69.js","auth/test/otp-test.0405239d3df0ec3fae69.js.map"],"auth/test/webauthn-login-test":["auth/test/webauthn-login-test.3f0b09969c85843dae6d.js","auth/test/webauthn-login-test.3f0b09969c85843dae6d.js.map"],"auth/webauthn-cli-login":["auth/webauthn-cli-login.051a57a3c6b044c67dd0.js","auth/webauthn-cli-login.051a57a3c6b044c67dd0.js.map"],"auth/webauthn-login":["auth/webauthn-login.820c4a93b598ddd7121a.js","auth/webauthn-login.820c4a93b598ddd7121a.js.map"],"billing/delete-org":["billing/delete-org.0dc6e31993b52a8b2724.js","billing/delete-org.0dc6e31993b52a8b2724.js.map"],"billing/detail":["billing/detail.f8fc1c16ad8c2b730767.js","billing/detail.f8fc1c16ad8c2b730767.js.map"],"billing/downgrade":["billing/downgrade.f44586f7986be09e2058.js","billing/downgrade.f44586f7986be09e2058.js.map"],"billing/upgrade":["billing/upgrade.3dfe2b6d60a8d0de3d40.js","billing/upgrade.3dfe2b6d60a8d0de3d40.js.map"],"contact/contact":["contact/contact.21a3618fa1c7ff80ef82.js","contact/contact.21a3618fa1c7ff80ef82.js.map"],"contact/recovery-support-v1":["contact/recovery-support-v1.12fc4490a124157732af.js","contact/recovery-support-v1.12fc4490a124157732af.js.map"],"contact/recovery-support-v2":["contact/recovery-support-v2.b10127a329e2c42e02a6.js","contact/recovery-support-v2.b10127a329e2c42e02a6.js.map"],"contact/sidebar":["contact/sidebar.72f249e19f32036a5e4f.js","contact/sidebar.72f249e19f32036a5e4f.js.map"],"debug/badstatus":["debug/badstatus.ef68493dcd25ae413699.js","debug/badstatus.ef68493dcd25ae413699.js.map"],"debug/detail":["debug/detail.892ae03bf338dce95a25.js","debug/detail.892ae03bf338dce95a25.js.map"],"debug/failcomponent":["debug/failcomponent.4c6315ace3cc53e613e9.js","debug/failcomponent.4c6315ace3cc53e613e9.js.map"],"dev/choose-template":["dev/choose-template.bf7b364eb364089847fd.js","dev/choose-template.bf7b364eb364089847fd.js.map"],"dsr/dsr-export":["dsr/dsr-export.30253ed040931bd927d3.js","dsr/dsr-export.30253ed040931bd927d3.js.map"],"egg/egg":["egg/egg.d374a0f52ddf8375a9a4.js","egg/egg.d374a0f52ddf8375a9a4.js.map"],"errors/bad-request":["errors/bad-request.86513df32844b5e6f516.js","errors/bad-request.86513df32844b5e6f516.js.map"],"errors/not-found":["errors/not-found.c7b0c35e7ceb63d84b31.js","errors/not-found.c7b0c35e7ceb63d84b31.js.map"],"errors/server":["errors/server.f55ecae2fa18b4918eef.js","errors/server.f55ecae2fa18b4918eef.js.map"],"errors/tea-pot":["errors/tea-pot.55f8d8008a0eab7d11d8.js","errors/tea-pot.55f8d8008a0eab7d11d8.js.map"],"errors/template":["errors/template.bcd7b96d2eef85eb5811.js","errors/template.bcd7b96d2eef85eb5811.js.map"],"flatpage/flatpage":["flatpage/flatpage.cdd0a87d2f1f6e1cf82f.js","flatpage/flatpage.cdd0a87d2f1f6e1cf82f.js.map"],"homepage/homepage":["homepage/homepage.90428b2dfe5e8eac32b2.js","homepage/homepage.90428b2dfe5e8eac32b2.js.map"],"homepage/homepage-logged-in":["homepage/homepage-logged-in.d8cf8d8210baa4796cb1.js","homepage/homepage-logged-in.d8cf8d8210baa4796cb1.js.map"],"orgs/create":["orgs/create.497b56f667a6526e4a09.js","orgs/create.497b56f667a6526e4a09.js.map"],"orgs/detail":["orgs/detail.aff2bb2f23e890935952.js","orgs/detail.aff2bb2f23e890935952.js.map"],"orgs/invite":["orgs/invite.eb4d7bcfc73ab6d39696.js","orgs/invite.eb4d7bcfc73ab6d39696.js.map"],"orgs/tfa-enforced":["orgs/tfa-enforced.49defdbb543c71f4f5a3.js","orgs/tfa-enforced.49defdbb543c71f4f5a3.js.map"],"orgs/upgrade":["orgs/upgrade.5fb0fb27d547858b1e3b.js","orgs/upgrade.5fb0fb27d547858b1e3b.js.map"],"package-list/package-list":["package-list/package-list.49fd667ffeb25c8b806c.js","package-list/package-list.49fd667ffeb25c8b806c.js.map"],"package/delete-package":["package/delete-package.68fdf953f7be6cf0a5af.js","package/delete-package.68fdf953f7be6cf0a5af.js.map"],"package/deprecate-package":["package/deprecate-package.050eb09669a9935679b9.js","package/deprecate-package.050eb09669a9935679b9.js.map"],"package/error-message-package":["package/error-message-package.96424a0d0bb31df27da5.js","package/error-message-package.96424a0d0bb31df27da5.js.map"],"package/package":["package/package.e1bc411d96f47cf73109.js","package/package.e1bc411d96f47cf73109.js.map"],"profile/profile":["profile/profile.acfe8e30ab99a6613be9.js","profile/profile.acfe8e30ab99a6613be9.js.map"],"recovery-codes/show":["recovery-codes/show.3dff0a23fba2fb082f22.js","recovery-codes/show.3dff0a23fba2fb082f22.js.map"],"search/search":["search/search.e58638cb0fed5d950414.js","search/search.e58638cb0fed5d950414.js.map"],"searchv2/search":["searchv2/search.c47b092d0b15ed356761.js","searchv2/search.c47b092d0b15ed356761.js.map"],"settings/change-password":["settings/change-password.42c46907a6b7d6837964.js","settings/change-password.42c46907a6b7d6837964.js.map"],"settings/delete-account":["settings/delete-account.d71f01b36d86e8f20e78.js","settings/delete-account.d71f01b36d86e8f20e78.js.map"],"settings/email":["settings/email.5da1db9f4d3fa656d341.js","settings/email.5da1db9f4d3fa656d341.js.map"],"settings/memberships":["settings/memberships.24de607891cfc709cc61.js","settings/memberships.24de607891cfc709cc61.js.map"],"settings/packages":["settings/packages.128864aa1442038d1ec4.js","settings/packages.128864aa1442038d1ec4.js.map"],"settings/profile":["settings/profile.703ac0a08a13687a09d8.js","settings/profile.703ac0a08a13687a09d8.js.map"],"teams/create":["teams/create.ed811c36ce677c7e2a3d.js","teams/create.ed811c36ce677c7e2a3d.js.map"],"teams/detail":["teams/detail.1bc2516af67630c9f250.js","teams/detail.1bc2516af67630c9f250.js.map"],"teams/list":["teams/list.091bff3b862605ae0740.js","teams/list.091bff3b862605ae0740.js.map"],"teams/packages":["teams/packages.2c6887f05b2550efdeae.js","teams/packages.2c6887f05b2550efdeae.js.map"],"teams/users":["teams/users.ee44b435c7b953e7ce98.js","teams/users.ee44b435c7b953e7ce98.js.map"],"tfa/additional-options":["tfa/additional-options.cee8ac50d33c1f3f6513.js","tfa/additional-options.cee8ac50d33c1f3f6513.js.map"],"tfa/enable":["tfa/enable.c286e96555b1b20d1d1a.js","tfa/enable.c286e96555b1b20d1d1a.js.map"],"tfa/list":["tfa/list.cea3eae832749a7a1e20.js","tfa/list.cea3eae832749a7a1e20.js.map"],"tfa/recovery-codes":["tfa/recovery-codes.30124cfd5774ded8360f.js","tfa/recovery-codes.30124cfd5774ded8360f.js.map"],"tfa/security-key-list":["tfa/security-key-list.5b8cb9337956e24db887.js","tfa/security-key-list.5b8cb9337956e24db887.js.map"],"tfa/showTFAQRCode":["tfa/showTFAQRCode.5f217717adff0655b1ca.js","tfa/showTFAQRCode.5f217717adff0655b1ca.js.map"],"tfa/showTFASuccess":["tfa/showTFASuccess.8027839385fe3193bec6.js","tfa/showTFASuccess.8027839385fe3193bec6.js.map"],"tfa/tfa-disable":["tfa/tfa-disable.30d25b8b70554be4fd0b.js","tfa/tfa-disable.30d25b8b70554be4fd0b.js.map"],"tfa/tfa-mode-selection":["tfa/tfa-mode-selection.50ae53973c2c533d5446.js","tfa/tfa-mode-selection.50ae53973c2c533d5446.js.map"],"tfa/tfa-password-entry":["tfa/tfa-password-entry.1cb44111b83b20702f73.js","tfa/tfa-password-entry.1cb44111b83b20702f73.js.map"],"tfa/totp":["tfa/totp.03609c1c9462197a115c.js","tfa/totp.03609c1c9462197a115c.js.map"],"tokens/create":["tokens/create.996b161ace5b5af381e6.js","tokens/create.996b161ace5b5af381e6.js.map"],"tokens/create-gat":["tokens/create-gat.edff4d8cef19507acdcc.js","tokens/create-gat.edff4d8cef19507acdcc.js.map"],"tokens/gat-details":["tokens/gat-details.3a4b48b91fdd2b8842f6.js","tokens/gat-details.3a4b48b91fdd2b8842f6.js.map"],"tokens/gat/allowed-ip-ranges-input":["tokens/gat/allowed-ip-ranges-input.b857535c6e9f4673d20b.js","tokens/gat/allowed-ip-ranges-input.b857535c6e9f4673d20b.js.map"],"tokens/gat/constants":["tokens/gat/constants.29919042f380afeaf104.js","tokens/gat/constants.29919042f380afeaf104.js.map"],"tokens/gat/divider":["tokens/gat/divider.739aa50e6df9cc726df7.js","tokens/gat/divider.739aa50e6df9cc726df7.js.map"],"tokens/gat/expiration-days-input":["tokens/gat/expiration-days-input.d786c9dde51aff1e3074.js","tokens/gat/expiration-days-input.d786c9dde51aff1e3074.js.map"],"tokens/gat/gat-expiration":["tokens/gat/gat-expiration.fbfa8d68392ea528c732.js","tokens/gat/gat-expiration.fbfa8d68392ea528c732.js.map"],"tokens/gat/gat-input":["tokens/gat/gat-input.962bf5e4939b88953535.js","tokens/gat/gat-input.962bf5e4939b88953535.js.map"],"tokens/gat/organizations-input":["tokens/gat/organizations-input.d6567dc4fe43a7992e26.js","tokens/gat/organizations-input.d6567dc4fe43a7992e26.js.map"],"tokens/gat/organizations-section":["tokens/gat/organizations-section.84359bff8428c82f82da.js","tokens/gat/organizations-section.84359bff8428c82f82da.js.map"],"tokens/gat/packages-and-scopes-input":["tokens/gat/packages-and-scopes-input.fb4f54b0a422e64adcec.js","tokens/gat/packages-and-scopes-input.fb4f54b0a422e64adcec.js.map"],"tokens/gat/packages-and-scopes-section":["tokens/gat/packages-and-scopes-section.9604a6c8c61af9aec480.js","tokens/gat/packages-and-scopes-section.9604a6c8c61af9aec480.js.map"],"tokens/gat/permissions-input":["tokens/gat/permissions-input.a4d278ddbb9bc9dbb7ae.js","tokens/gat/permissions-input.a4d278ddbb9bc9dbb7ae.js.map"],"tokens/gat/section":["tokens/gat/section.57907e770bb6126aa544.js","tokens/gat/section.57907e770bb6126aa544.js.map"],"tokens/gat/section-heading":["tokens/gat/section-heading.31b9cce7110148775906.js","tokens/gat/section-heading.31b9cce7110148775906.js.map"],"tokens/gat/selected-items":["tokens/gat/selected-items.0cdfca6111bb5e8cc87a.js","tokens/gat/selected-items.0cdfca6111bb5e8cc87a.js.map"],"tokens/gat/utils":["tokens/gat/utils.2f216490bc4bad1e1db0.js","tokens/gat/utils.2f216490bc4bad1e1db0.js.map"],"tokens/generate-token":["tokens/generate-token.8e2cc8a9c63f29fc4a76.js","tokens/generate-token.8e2cc8a9c63f29fc4a76.js.map"],"tokens/list":["tokens/list.cb47500f5b5c7103717f.js","tokens/list.cb47500f5b5c7103717f.js.map"],"vouchers/view":["vouchers/view.9ab01b09c649c805499c.js","vouchers/view.9ab01b09c649c805499c.js.map"]},"hash":"4d51a2358b5a9f89b8a7","name":"package/package","containerId":"app","headerName":"x-spiferack","publicPath":"https://static-production.npmjs.com/"}</script><script crossorigin="anonymous" src="https://static-production.npmjs.com/commons.4d51a2358b5a9f89b8a7.js"></script> <script crossorigin="anonymous" src="https://static-production.npmjs.com/minicssextractbug.b7f4f77bf047598d73c2.js"></script> <script crossorigin="anonymous" src="https://static-production.npmjs.com/package/package.e1bc411d96f47cf73109.js"></script> </body> </html>