Have ideas to improve npm?Join in the discussion! »

    xlsx-encrypter
    TypeScript icon, indicating that this package has built-in type declarations

    1.2.9 • Public • Published

    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
    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
    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
    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
    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
    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
    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

    Install

    npm i xlsx-encrypter

    DownloadsWeekly Downloads

    3

    Version

    1.2.9

    License

    MIT

    Unpacked Size

    36.7 kB

    Total Files

    13

    Last publish

    Collaborators

    • avatar