Public
Edited
Sep 28, 2023
Insert cell
Insert cell
button(createdOds, "data-download.ods")
Insert cell
createdOds = {
const z = zip();
for (let { filename, contents } of zipFiles) {
z.file(filename, contents);
}
return z.generateAsync({ type: "blob", compression: "DEFLATE" });
}
Insert cell
zipFiles = accessibleSpreadsheetCreator.default(odsData, Handlebars)
Insert cell
odsData = ({
selectedCharacteristics: [
{ variable: "Sex", category: "Female" },
{ variable: "Religion", category: "Hindu" }
],
tableHeadings: ["Category", "Selected group", "England and Wales"],
sheets: [
{
sheetName: "Age",
tableName: "Age",
rowData: [
{ name: "First category", values: [12.3, 45.6] },
{ name: "Second category", values: [12.3, 45.6] }
]
},
{
sheetName: "Ethnicity",
tableName: "Ethnicity",
rowData: [
{ name: "First category", values: [12.3, 45.6] },
{ name: "Second category", values: [12.3, 45.6] },
{ name: "Third category", values: [78.9, 45.6] }
]
}
]
})
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more