Fable library for Spreadsheet creation and manipulation
Project description
FsSpreadsheet
Spreadsheet creation and manipulation in FSharp
DSL
#r "nuget: FsSpreadsheet"
open FsSpreadsheet.DSL
let dslTree =
workbook {
sheet "MySheet" {
row {
cell {1}
cell {2}
cell {3}
}
row {
4
5
6
}
}
}
let spreadsheet = dslTree.Value.Parse()
ExcelIO
#r "nuget: FsSpreadsheet.Net"
open FsSpreadsheet.Net
spreadsheet.ToFile(excelFilePath)
------->
Code Examples
let tables = workbook.GetTables()
let worksheets = workbook.GetWorksheets()
// get worksheet and its table as tuple
let worksheetsAndTables =
tables
|> List.map (
fun t ->
let associatedWs =
worksheets
|> List.find (
fun ws ->
ws.Tables
|> List.exists (fun t2 -> t2.Name = t.Name)
)
associatedWs, t
)
Development
Requirements
- nodejs and npm
- verify with
node --version
(Tested with v18.16.1) - verify with
npm --version
(Tested with v9.2.0)
- verify with
- .NET SDK
- verify with
dotnet --version
(Tested with 7.0.306)
- verify with
- Python
- verify with
py --version
(Tested with 3.12.2)
- verify with
Local Setup
-
Setup dotnet tools
dotnet tool restore
-
Install NPM dependencies
npm install
-
Setup python environment
py -m venv .venv
-
Install Poetry and dependencies
.\.venv\Scripts\python.exe -m pip install -U pip setuptools
.\.venv\Scripts\python.exe -m pip install poetry
.\.venv\Scripts\python.exe -m poetry install --no-root
Verify correct setup with ./build.cmd runtests
build.cmd <target>
where<target>
may be- if
<target>
is empty, it just runs dotnet build after cleaning everything runtests
to run unit testsruntestsjs
to only run JS unit testsruntestsdotnet
to only run .NET unit testsruntestpy
to only run Python unit tests
releasenotes semver:<version>
where<version>
may bemajor
,minor
, orpatch
to update RELEASE_NOTES.mdpack
to create a NuGet releasepackprelease
to create a NuGet prerelease
builddocs
to create docsbuilddocsprerelease
to create prerelease docs
watchdocs
to create docs and run them locallywatchdocsprelease
to create prerelease docs and run them locallyrelease
to create a NuGet, NPM, PyPI and GitHub release
- if
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fsspreadsheet-6.0.1.tar.gz
(183.3 kB
view hashes)
Built Distribution
fsspreadsheet-6.0.1-py3-none-any.whl
(237.6 kB
view hashes)
Close
Hashes for fsspreadsheet-6.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81a2a28e5a7af8bc302820770cf73ec66fe543a3bc6a6350e9d5094b872f6210 |
|
MD5 | fde9bf8e16728390f06b86ad796b1e91 |
|
BLAKE2b-256 | 5373f9e6ab9b065887c6ef9889b47bb916af19ad2e5e35f6b9ad8d331f2be283 |