Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

xlsx-js-style

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

xlsx-js-style

SheetJS Spreadsheet Community Edition plus Basic Cell Styles

  • 1.2.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
69K
increased by0.18%
Maintainers
1
Weekly downloads
 
Created
Source

xlsx-js-style

ℹ️ About

SheetJS with Style! Create Excel spreadsheets with basic styling options using JavaScript.

xlsx-js-style sheetjs styles


Known Vulnerabilities npm downloads typescripts definitions

🔌 Installation

Install npm:

npm install xlsx-js-style

Install browser:

<script src="dist/xlsx.bundle.js"></script>

🗒 Core API

  • Refer to the SheetJS documentation for core API reference
  • Current version of sheetjs used: 0.18.5

🗒 Style API

Cell Style Example

// STEP 1: Create a new workbook
const wb = XLSX.utils.book_new();

// STEP 2: Create data rows and styles
let row = [
	{ v: "Courier: 24", t: "s", s: { font: { name: "Courier", sz: 24 } } },
	{ v: "bold & color", t: "s", s: { font: { bold: true, color: { rgb: "FF0000" } } } },
	{ v: "fill: color", t: "s", s: { fill: { fgColor: { rgb: "E9E9E9" } } } },
	{ v: "line\nbreak", t: "s", s: { alignment: { wrapText: true } } },
];

// STEP 3: Create worksheet with rows; Add worksheet to workbook
const ws = XLSX.utils.aoa_to_sheet([row]);
XLSX.utils.book_append_sheet(wb, ws, "readme demo");

// STEP 4: Write Excel file to browser
XLSX.writeFile(wb, "xlsx-js-style-demo.xlsx");

Cell Style Properties

  • Cell styles are specified by a style object that roughly parallels the OpenXML structure.
  • Style properties currently supported are: alignment, border, fill, font, numFmt.
Style PropSub PropDefaultDescription/Values
alignmentverticalbottom"top" or "center" or "bottom"
horizontalleft"left" or "center" or "right"
wrapTextfalsetrue or false
textRotation00 to 180, or 255 // 180 is rotated down 180 degrees, 255 is special, aligned vertically
bordertop{ style: BORDER_STYLE, color: COLOR_STYLE }
bottom{ style: BORDER_STYLE, color: COLOR_STYLE }
left{ style: BORDER_STYLE, color: COLOR_STYLE }
right{ style: BORDER_STYLE, color: COLOR_STYLE }
diagonal{ style: BORDER_STYLE, color: COLOR_STYLE, diagonalUp: true/false, diagonalDown: true/false }
fillpatternType"none""solid" or "none"
fgColorforeground color: see COLOR_STYLE
bgColorbackground color: see COLOR_STYLE
fontboldfalsefont bold true or false
colorfont color COLOR_STYLE
italicfalsefont italic true or false
name"Calibri"font name
strikefalsefont strikethrough true or false
sz"11"font size (points)
underlinefalsefont underline true or false
vertAlign"superscript" or "subscript"
numFmt0Ex: "0" // integer index to built in formats, see StyleBuilder.SSF property
Ex: "0.00%" // string matching a built-in format, see StyleBuilder.SSF
Ex: "0.0%" // string specifying a custom format
Ex: "0.00%;\\(0.00%\\);\\-;@" // string specifying a custom format, escaping special characters
Ex: "m/dd/yy" // string a date format using Excel's format notation

COLOR_STYLE {object} Properties

Colors for border, fill, font are specified as an name/value object - use one of the following:

Color PropDescriptionExample
rgbhex RGB value{rgb: "FFCC00"}
themetheme color index{theme: 4} // (0-n) // Theme color index 4 ("Blue, Accent 1")
tinttint by percent{theme: 1, tint: 0.4} // ("Blue, Accent 1, Lighter 40%")

BORDER_STYLE {string} Properties

Border style property is one of the following values:

  • dashDotDot
  • dashDot
  • dashed
  • dotted
  • hair
  • mediumDashDotDot
  • mediumDashDot
  • mediumDashed
  • medium
  • slantDashDot
  • thick
  • thin

Border Notes

Borders for merged areas are specified for each cell within the merged area. For example, to apply a box border to a merged area of 3x3 cells, border styles would need to be specified for eight different cells:

  • left borders (for the three cells on the left)
  • right borders (for the cells on the right)
  • top borders (for the cells on the top)
  • bottom borders (for the cells on the left)

🙏 Thanks

This project is a fork of SheetJS/sheetjs combined with code from sheetjs-style (by ShanaMaid) and sheetjs-style-v2 (by Raul Gonzalez).

All projects are under the Apache 2.0 License

🔖 License

Please consult the attached LICENSE file for details. All rights not explicitly granted by the Apache 2.0 License are reserved by the Original Author.

Keywords

FAQs

Package last updated on 05 Apr 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc