45 lines
1.6 KiB
Raw Normal View History

2022-05-16 03:26:04 +00:00
2022-08-13 22:01:26 +00:00
sidebar_position: 4
2022-05-16 03:26:04 +00:00
hide_table_of_contents: true
# Zen of SheetJS
SheetJS design and development is guided by a few key principles.
### Data processing should fit in any workflow
The library does not impose a separate lifecycle. It fits nicely in websites
and apps built using any framework. The plain JS data objects play nice with
Web Workers and future APIs.
### JavaScript is a powerful language for data processing
2022-10-30 05:45:37 +00:00
The ["Common Spreadsheet Format"](/docs/csf/general) is a simple object
2023-06-25 19:57:03 +00:00
representation of the core concepts of a workbook. [Utilities](/docs/api/utilities/)
provide low-level tools for working with the object.
2022-05-16 03:26:04 +00:00
For friendly JS processing, there are utility functions for converting parts of
2022-10-30 05:45:37 +00:00
a worksheet to/from an Array of Arrays. The [Tutorial](/docs/getting-started/example)
2022-05-16 03:26:04 +00:00
combines powerful JS Array methods with a network request library to download
2022-10-30 05:45:37 +00:00
data, select the information we want and create a workbook file.
2022-05-16 03:26:04 +00:00
### File formats are implementation details
The parser covers a wide gamut of common spreadsheet file formats to ensure that
"HTML-saved-as-XLS" files work as well as actual XLS or XLSX files.
The writer supports a number of common output formats for broad compatibility
with the data ecosystem.
To the greatest extent possible, data processing code should not have to worry
about the specific file formats involved.
2023-06-25 19:57:03 +00:00
### Data processing should be confidential
All SheetJS-related methods run locally. No data is sent to a third party in
processing data. No telemetry is collected.
SheetJS libraries are regularly used in offline scenarios to process personally
identifiable information (PII) and other classified data.