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
|
|
|
|
2024-04-12 01:04:37 +00:00
|
|
|
SheetJS provides convenient methods for processing common JavaScript data
|
|
|
|
structures. The [Export Tutorial](/docs/getting-started/examples/export)
|
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.
|