docs.sheetjs.com/docz/docs/07-csf/index.md

43 lines
1.6 KiB
Markdown
Raw Normal View History

2022-08-08 06:59:57 +00:00
---
2022-08-24 23:48:22 +00:00
pagination_next: api/index
2022-08-08 06:59:57 +00:00
hide_table_of_contents: true
title: Common Spreadsheet Format
---
import DocCardList from '@theme/DocCardList';
import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
2023-06-20 01:21:34 +00:00
The "Common Spreadsheet Format" is the object model used by SheetJS. The library
[includes a number of API functions](/docs/api) for common operations, but some
features are only accessible by inspecting and modifying the objects directly.
This section covers the JS representation of workbooks, worksheets, cells,
ranges, addresses and other features.
2022-08-08 06:59:57 +00:00
2024-07-08 08:18:18 +00:00
:::info Historical Context
[Web Workers](/docs/demos/bigdata/worker), a popular API for parallelism in the
web browser, uses message passing. The "structured clone algorithm"[^1] is used
to pass data between the main renderer thread and Worker instances.
The structured clone algorithm does not preserve functions or prototypes.
In the SheetJS data model, each structure is a simple object. There are no
classes or prototype methods.
:::
2022-08-08 06:59:57 +00:00
### Contents
<ul>{useCurrentSidebarCategory().items.map(globalThis.lambda = (item, index) => {
const listyle = (item.customProps?.icon) ? {
listStyleImage: `url("${item.customProps.icon}")`
} : {};
return (<li style={listyle} {...(item.customProps?.class ? {className: item.customProps.class}: {})}>
<a href={item.href}>{item.label}</a>{item.customProps?.summary && (" - " + item.customProps.summary)}
<ul>{item.items && item.items.map(lambda)}</ul>
</li>);
2024-07-08 08:18:18 +00:00
})}</ul>
[^1]: See [the HTML Living Standard](https://html.spec.whatwg.org/multipage/structured-data.html#structured-cloning) for more details on the "structured clone algorithm".