Security News
PyPI Now Supports iOS and Android Wheels for Mobile Python Development
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
An XLSX template engine.
The idea is to create the desired layout in Excel, possibly by your client. This would include all sorts of styling, row heights, images, etc.
Then supply your template and your data to Extem and create the resulting XSLX.
npm install extem
let { Extem } = require('extem');
let myData = {
};
let globals = {
foo: (a, b) => a // this becomes available in the Jsonata scope as $foo
}
Extem.readFile('./template.xlsx').then((template) => {
template.evaluate(myData, globals);
return template.writeFile('./generated.xlsx').then(() => {
console.log('written');
})
}).catch(console.log);
Extem works with jsonata selectors. These selectors can be applied to cells, but also to ranges. When applied to ranges, every selector inside that range is processed in the scope of the range selector.
Suppose you have the following structure
{
list: [1,2,3],
data: 'foo',
map: {
qux: 'moo'
}
}
A cell in the sheet with the value ${data}
would result foo
being rendered in that cell
A cell in the sheet with the value |{list}
would render 3 cells with 1
, 2
and 3
vertically. All cells below the template cell are pushed down. Similarly, _{list}
would render a horizontal list, pushing cells to the right (in ltr excel).
To define a range scope create a cell somewhere and fill it with the following formula
=IFERROR(N(A3:C5), "${map}")
The syntax is a bit weird (we are looking for a better solution), but has the following benefits:
Any cell (or other range) inside that range is now in the scope of map
, so, the a cell with ${qux}
would render moo
.
FAQs
An XLSX template engine.
The npm package extem receives a total of 1 weekly downloads. As such, extem popularity was classified as not popular.
We found that extem demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.