# JupyterLab Spreadsheet
[![npm](https://img.shields.io/npm/v/jupyterlab-spreadsheet.svg?style=flat-square)](https://www.npmjs.com/package/jupyterlab-spreadsheet)
[![GitHub](https://img.shields.io/github/license/quigleyj97/jupyterlab-spreadsheet.svg?style=flat-square)](https://github.com/quigleyj97/jupyterlab-spreadsheet/blob/master/LICENSE.md)
![Supported JLab version](https://img.shields.io/badge/JupyterLab-3.x-green.svg?style=flat-square)
![CI Build](https://github.com/quigleyj97/jupyterlab-spreadsheet/workflows/CI%20Build/badge.svg?branch=master)
![Image depicting the plugin displaying a simple XLS workbook](./screenshot.png)
Try it out!
[![binder.org](https://img.shields.io/badge/launch-binder-green.svg?style=flat-square&logo=data:image/png;base64,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
)](https://mybinder.org/v2/gh/quigleyj97/jupyterlab-spreadsheet/master?urlpath=lab/tree/data)
This plugin adds a simple spreadsheet viewer to JupyterLab.
`jupyterlab-spreadsheet` supports XLS, XLSX, ODS, and CSV files, and allows for
basic formatting (such as cell merges). The plugin is in alpha, and doesn't
support all features of workbooks (advanced formatting, formulas, etc.).
Refer to the [changelog](./Changelog.md) for detailed release notes.
## Getting Started
Installing `jupyterlab-spreadsheet` is easy. Just run the following command:
```bash
jupyter labextension install jupyterlab-spreadsheet
```
If you already have JupyterLab running, you just have to refresh the page.
To open a workbook, navigate to it in the file viewer and double-click on it.
To open CSV files in the plugin, right click on the file and use
"Open With > Spreadsheet".
## Contributing
Contributions are always welcome! `jupyterlab-spreadsheet` is built off of
the 6pac fork of SlickGrid, and uses SheetJS to parse workbooks.
When filing issues, please be sure to give reproduction steps and any relevant
error messages or console output. This helps me track down the cause and get a
fix out sooner.
## Building from Source
To build from sources, clone this repository into a convenient directory and
`cd` into it from a terminal. Then, run the following commands:
```bash
yarn install
yarn build
jupyter labextension install .
```
Then, start JupyterLab as you would normally. File watchers are available via
`yarn build --watch` and `jupyter lab --watch`.
Raw data
{
"_id": null,
"home_page": "https://github.com/quigleyj97/jupyterlab-spreadsheet",
"name": "jupyterlab-spreadsheet",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "Jupyter, JupyterLab, JupyterLab3",
"author": "Joe Quigley",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/00/02/89b9ebf1f707ebb178414f57d5f496083464591a479c542ea075b1d73bf1/jupyterlab_spreadsheet-0.4.2.tar.gz",
"platform": "Linux",
"description": "# JupyterLab Spreadsheet\n\n[![npm](https://img.shields.io/npm/v/jupyterlab-spreadsheet.svg?style=flat-square)](https://www.npmjs.com/package/jupyterlab-spreadsheet)\n[![GitHub](https://img.shields.io/github/license/quigleyj97/jupyterlab-spreadsheet.svg?style=flat-square)](https://github.com/quigleyj97/jupyterlab-spreadsheet/blob/master/LICENSE.md)\n![Supported JLab version](https://img.shields.io/badge/JupyterLab-3.x-green.svg?style=flat-square)\n![CI Build](https://github.com/quigleyj97/jupyterlab-spreadsheet/workflows/CI%20Build/badge.svg?branch=master)\n\n![Image depicting the plugin displaying a simple XLS workbook](./screenshot.png)\n\nTry it out!\n[![binder.org](https://img.shields.io/badge/launch-binder-green.svg?style=flat-square&logo=data:image/png;base64,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\n)](https://mybinder.org/v2/gh/quigleyj97/jupyterlab-spreadsheet/master?urlpath=lab/tree/data)\n\nThis plugin adds a simple spreadsheet viewer to JupyterLab.\n\n`jupyterlab-spreadsheet` supports XLS, XLSX, ODS, and CSV files, and allows for\nbasic formatting (such as cell merges). The plugin is in alpha, and doesn't\nsupport all features of workbooks (advanced formatting, formulas, etc.).\n\nRefer to the [changelog](./Changelog.md) for detailed release notes.\n\n## Getting Started\n\nInstalling `jupyterlab-spreadsheet` is easy. Just run the following command:\n\n```bash\njupyter labextension install jupyterlab-spreadsheet\n```\n\nIf you already have JupyterLab running, you just have to refresh the page.\n\nTo open a workbook, navigate to it in the file viewer and double-click on it.\nTo open CSV files in the plugin, right click on the file and use\n\"Open With > Spreadsheet\".\n\n## Contributing\n\nContributions are always welcome! `jupyterlab-spreadsheet` is built off of\nthe 6pac fork of SlickGrid, and uses SheetJS to parse workbooks.\n\nWhen filing issues, please be sure to give reproduction steps and any relevant\nerror messages or console output. This helps me track down the cause and get a\nfix out sooner.\n\n## Building from Source\n\nTo build from sources, clone this repository into a convenient directory and\n`cd` into it from a terminal. Then, run the following commands:\n\n```bash\nyarn install\nyarn build\njupyter labextension install .\n```\n\nThen, start JupyterLab as you would normally. File watchers are available via\n`yarn build --watch` and `jupyter lab --watch`.\n",
"bugtrack_url": null,
"license": "BSD-3-Clause",
"summary": "Adds a spreadsheet viewer to JupyterLab",
"version": "0.4.2",
"project_urls": {
"Homepage": "https://github.com/quigleyj97/jupyterlab-spreadsheet"
},
"split_keywords": [
"jupyter",
" jupyterlab",
" jupyterlab3"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "89bc493671a77bb97171c16a9b101b93d536d31c9dd7fec766919ba116d880fb",
"md5": "bf3d199315850bb589860f8cf4a5ef89",
"sha256": "ae8a89bcab630f9f75e37b3ea2c7c5c5edf4a49699c5aae1756cb5c2452dbed9"
},
"downloads": -1,
"filename": "jupyterlab_spreadsheet-0.4.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bf3d199315850bb589860f8cf4a5ef89",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 500131,
"upload_time": "2024-09-09T11:04:55",
"upload_time_iso_8601": "2024-09-09T11:04:55.197225Z",
"url": "https://files.pythonhosted.org/packages/89/bc/493671a77bb97171c16a9b101b93d536d31c9dd7fec766919ba116d880fb/jupyterlab_spreadsheet-0.4.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "000289b9ebf1f707ebb178414f57d5f496083464591a479c542ea075b1d73bf1",
"md5": "38276d62c8fb18d54f1d1809b14bd7be",
"sha256": "0cea8130d53ba1cb67a3df2ceb1e382af6b968963d72fa3736d0ecaa90a2519a"
},
"downloads": -1,
"filename": "jupyterlab_spreadsheet-0.4.2.tar.gz",
"has_sig": false,
"md5_digest": "38276d62c8fb18d54f1d1809b14bd7be",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 261846,
"upload_time": "2024-09-09T11:04:57",
"upload_time_iso_8601": "2024-09-09T11:04:57.633672Z",
"url": "https://files.pythonhosted.org/packages/00/02/89b9ebf1f707ebb178414f57d5f496083464591a479c542ea075b1d73bf1/jupyterlab_spreadsheet-0.4.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-09 11:04:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "quigleyj97",
"github_project": "jupyterlab-spreadsheet",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "jupyterlab-spreadsheet"
}