All Projects → Claviz → xlstream

Claviz / xlstream

Licence: MIT license
Turns XLSX into a readable stream.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to xlstream

Xlsx
Simple and incomplete Excel file parser/writer
Stars: ✭ 110 (-25.68%)
Mutual labels:  excel, xlsx
Test files
📚 SheetJS Test Files (XLS/XLSX/XLSB and other spreadsheet formats)
Stars: ✭ 150 (+1.35%)
Mutual labels:  excel, xlsx
Php Ext Xlswriter
🚀 PHP Extension for creating and reader XLSX files.
Stars: ✭ 1,734 (+1071.62%)
Mutual labels:  excel, xlsx
Bookfx
Composing Excel spreadsheets based on a tree of nested components like the HTML DOM.
Stars: ✭ 102 (-31.08%)
Mutual labels:  excel, xlsx
Xlsxir
Xlsx parser for the Elixir language.
Stars: ✭ 167 (+12.84%)
Mutual labels:  excel, xlsx
Php xlsxwriter
Lightwight XLSX Excel Spreadsheet Writer in PHP
Stars: ✭ 1,376 (+829.73%)
Mutual labels:  excel, xlsx
Vue Xlsx Table
Not need upload, view xlsx or xls file in your browser, Supported by js-xlsx.
Stars: ✭ 136 (-8.11%)
Mutual labels:  excel, xlsx
Dbwebapi
(Migrated from CodePlex) DbWebApi is a .Net library that implement an entirely generic Web API (RESTful) for HTTP clients to call database (Oracle & SQL Server) stored procedures or functions in a managed way out-of-the-box without any configuration or coding.
Stars: ✭ 84 (-43.24%)
Mutual labels:  excel, xlsx
Excelmapper
Map POCO objects to Excel files
Stars: ✭ 166 (+12.16%)
Mutual labels:  excel, xlsx
Xresloader
跨平台Excel导表工具(Excel=>protobuf/msgpack/lua/javascript/json/xml)
Stars: ✭ 161 (+8.78%)
Mutual labels:  excel, xlsx
Filecontextcore
FileContextCore is a "Database"-Provider for Entity Framework Core and adds the ability to store information in files instead of being limited to databases.
Stars: ✭ 91 (-38.51%)
Mutual labels:  excel, xlsx
Fast excel
Ultra Fast Excel Writer for Ruby
Stars: ✭ 181 (+22.3%)
Mutual labels:  excel, xlsx
Tabtoy
高性能表格数据导出器
Stars: ✭ 1,302 (+779.73%)
Mutual labels:  excel, xlsx
Phpspreadsheet
A pure PHP library for reading and writing spreadsheet files
Stars: ✭ 10,627 (+7080.41%)
Mutual labels:  excel, xlsx
Excelcy
Excel Integration with spaCy. Training NER using Excel/XLSX from PDF, DOCX, PPT, PNG or JPG.
Stars: ✭ 89 (-39.86%)
Mutual labels:  excel, xlsx
Xlsx
Fast and reliable way to work with Microsoft Excel™ [xlsx] files in Golang
Stars: ✭ 132 (-10.81%)
Mutual labels:  excel, xlsx
Excel Io
Object-oriented java Excel library
Stars: ✭ 76 (-48.65%)
Mutual labels:  excel, xlsx
Js2excel
😌 😃 👿 A simple module for excel and json converts each other, which works in the browser.
Stars: ✭ 83 (-43.92%)
Mutual labels:  excel, xlsx
Writexl
Portable, light-weight data frame to xlsx exporter for R
Stars: ✭ 162 (+9.46%)
Mutual labels:  excel, xlsx
Documentserver
ONLYOFFICE Document Server is an online office suite comprising viewers and editors for texts, spreadsheets and presentations, fully compatible with Office Open XML formats: .docx, .xlsx, .pptx and enabling collaborative editing in real time.
Stars: ✭ 2,335 (+1477.7%)
Mutual labels:  excel, xlsx

Build Status codecov npm

xlstream

Memory-efficiently turns XLSX file into a transform stream with all its benefits.

  • Stream is pausable.
  • Emits all default events (data, end, etc.)
  • Returns header, raw and formatted row data, as well as totalSheetSize and processedSheetSize (in bytes) in just one data event.
  • Maintains desirable behavior of merged cells.
  • Supports files created by OpenXML.
  • Supports standard, Excel and custom number formats.

Installation

npm install xlstream

Example

source.xlsx contents:

A B
hello 123

Where 123 is a 123.123 number formatted to be rounded to integer.

Script:

const { getXlsxStream } = require("xlstream");

(async () => {
  const stream = await getXlsxStream({
    filePath: "./source.xlsx",
    sheet: 0,
  });
  stream.on("data", (x) => console.log(x));
})();

Result:

{
    "raw": {
        "obj": { "A": "hello", "B": 123.123 },
        "arr": [ "hello", 123.123 ]
    },
    "formatted": {
        "obj": { "A": "hello", "B": 123 },
        "arr": [ "hello", 123 ]
    },
    "header": [],
    "totalSheetSize": 1110,
    "processedSheetSize": 1110
}

getXlsxStream

Returns transform stream of the sheet.

Options

option type description
filePath string Path to the XLSX file
sheet string or number If string is passed, finds sheet by it's name. If number, finds sheet by it's index.
withHeader boolean or number If true, column names will be taken from the first sheet row. If duplicated header name is found, column name will be prepended with column letter to maintain uniqueness. 0-based row location can be passed to this option if header is not located on the first row.
ignoreEmpty boolean If true, empty rows won't be emitted.
fillMergedCells boolean If true, merged cells will have the same value (by default, only the first cell of merged cells is filled with value). Warning! Enabling this feature may increase streaming time because file must be processed to detect merged cells before actual stream.
numberFormat standard or excel or object By default standard format is used. Excel implementation of number formatting differs from standard (can be read here) so excel option can be used to match this difference. If custom formatting is needed, a dictionary object can be passed to this option.
encoding string Sets file encoding.

getXlsxStreams

Async generator which yields transform streams of the sheets.

Options

Option Type Description
filePath string Path to the XLSX file
sheets array of sheet objects Options of sheet object can be found below.
encoding string Sets file encoding.

Sheet object

option type description
id string or number If string is passed, finds sheet by it's name. If number, finds sheet by it's index.
withHeader boolean If true, column names will be taken from the first sheet row. If duplicated header name is found, column name will be prepended with column letter to maintain uniqueness. 0-based row location can be passed to this option if header is not located on the first row.
ignoreEmpty boolean If true, empty rows won't be emitted.
fillMergedCells boolean If true, merged cells will have the same value (by default, only the first cell of merged cells is filled with value). Warning! Enabling this feature may increase streaming time because file must be processed to detect merged cells before actual stream.
numberFormat standard or excel or object By default standard format is used. Excel implementation of number formatting differs from standard (can be read here) so excel option can be used to match this difference. If custom formatting is needed, a dictionary object can be passed to this option.

getWorksheets

Returns array of sheets with name and hidden info.

Options

Option Type Description
filePath string Path to the XLSX file

Building

You can build js source by using npm run build command.

Testing

Tests can be run by using npm test command.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].