New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

xlsx-encrypter

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

xlsx-encrypter

Service for generating and encrypting Excel/XLSX files

latest
Source
npmnpm
Version
2.1.1
Version published
Maintainers
1
Created
Source

xlsx-encrypter

npm version License

Service for generating and encrypting Excel/XLSX files.

Installation

npm i xlsx-encrypter

or use Yarn

yarn add xlsx-encrypter

Usage

Simple usage:

import { XlsxGenerator } from "xlsx-encrypter";

const xlsxGenerator = new XlsxGenerator();
const data = [
  {
    fruit: "Apples",
    quantity: 4,
    price: "£6.86",
  },
];

// Create worksheets
const workSheet = xlsxGenerator.createWorkSheet(data, "Fruit Sales");

// Create XLSX file
void xlsxGenerator.exportWorkSheetsToFile("/file-dir/file-name.xlsx", [
  workSheet,
]);

or the older way

const XlsxGenerator = require("xlsx-encrypter");

const data = [
  {
    fruit: "Apples",
    quantity: 4,
    price: "£6.86",
  },
];

// Create worksheets
const workSheet = XlsxGenerator.createWorkSheet(data, "Fruit Sales");

// Create XLSX file
void XlsxGenerator.exportWorkSheetsToFile("/file-dir/file-name.xlsx", [
  workSheet,
]);

Multiple Worksheets

Can handle multiple worksheets.

import { XlsxGenerator } from "xlsx-encrypter";

const xlsxGenerator = new XlsxGenerator();
const data1 = [
  {
    fruit: "Apples",
    quantity: 4,
    price: "£6.86",
  },
];
const data2 = [
  {
    fruit: "Oranges",
    quantity: 2,
    price: "£3.26",
  },
];

// Create worksheets
const workSheet1 = xlsxGenerator.createWorkSheet(data1, "Fruit Sales: May");
const workSheet2 = xlsxGenerator.createWorkSheet(data2, "Fruit Sales: June");

// Create XLSX file
void xlsxGenerator.exportWorkSheetsToFile("/file-dir/file-name.xlsx", [
  workSheet1,
  workSheet2,
]);

Headers

Default headers can be added. NOTE: Headers must match data structure exactly.

import { XlsxGenerator } from "xlsx-encrypter";

const xlsxGenerator = new XlsxGenerator();
const data = [
  {
    fruit: "Apples",
    quantity: 4,
    price: "£6.86",
  },
];
const headers = ["fruit", "quantity", "price"];

// Create worksheets
const workSheet = xlsxGenerator.createWorkSheet(data, "Fruit Sales", headers);

// Create XLSX file
void xlsxGenerator.exportWorkSheetsToFile("/file-dir/file-name.xlsx", [
  workSheet,
]);

Cell Origin

The cell origin of the data can be specified in A1 format.

import { XlsxGenerator } from "xlsx-encrypter";

const xlsxGenerator = new XlsxGenerator();
const data = [];
const headers = ["fruit", "quantity", "price"];
const cellOrigin = "B2";

// Create worksheets
const workSheet = xlsxGenerator.createWorkSheet(
  data,
  "Fruit Sales",
  headers,
  cellOrigin
);

// Create XLSX file
void xlsxGenerator.exportWorkSheetsToFile("/file-dir/file-name.xlsx", [
  workSheet,
]);

Password Encryption

import { XlsxGenerator } from "xlsx-encrypter";

const xlsxGenerator = new XlsxGenerator();
const data = [];
const password = "SuperSecurePassword";

// Create worksheets
const workSheet = xlsxGenerator.createWorkSheet(data, "Fruit Sales");

// Create XLSX file with password
void xlsxGenerator.exportWorkSheetsToFile(
  "/file-dir/file-name.xlsx",
  [workSheet],
  password
);

Getting Started

Prerequisites

To write and test code you will need NodeJS and Yarn installed. If your on a Mac, use Homebrew for installation.

brew install node
brew install yarn

Installing

Install project dependencies

yarn

Tests

Unit Tests

Unit tests use jest. Tests can be run globally from the root directory by running yarn test

yarn test

Coding Style Tests

Code style is enforced by using a linter (eslint) and Prettier.

yarn lint

Deployment

Automated

Automated deployment is undertaken with CircleCI.

  • main: Deploy to NPM

Built With

Languages / Core Tools

Secondary Tooling

  • yarn - Typescript package management
  • jest - Unit and integration testing framework

Versioning

You'll need to bump the package version numbers manually for changes to be pushed to the npm registry.

Contributing

Have a bug? File an issue with a simple example that reproduces this so we can take a look and confirm.

Want to make a change? Submit a PR, explain why it's useful, and make sure you've updated the docs (this file) and the tests.

Authors

mrkiplin-icon

Theo Jones - MrKiplin

Keywords

excel

FAQs

Package last updated on 29 Sep 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