将来自 JSReport 的 html-to-xlsx 配方响应呈现为可下载的 excel sheet
Rendering html-to-xlsx recipe response from JSReport into a downloadable excel sheet
我的数据库中有 HTML 表示的患者数据,我想使用 JSReport 将其打印为 excel sheet。但是,当我从 jsreport 服务器获得带有配方的响应时,它显示为乱码,我找不到将其呈现到 excel 文件中的方法。
虚拟示例
const axios = require("axios");
const url = "http://localhost:5488/api/report/";
const data = {
"template": {
"shortid": "2_Kw0BRuOm",
"recipe": "html-to-xlsx",
"data": {
"people": [
{
"name": "Omar rafat",
"age": "20",
"job": "Software Engineer"
}
]
}
}
}
axios.post(url, {
"template": {
"shortid": "2_Kw0BRuOm",
"recipe": "html-to-xlsx",
"data": {
"people": [
{
"name": "Omar rafat",
"age": "20",
"job": "Software Engineer"
}
]
},
"options": { "reports": { "save": true } }
}
}).then(res => console.log(res.data)).catch(err => console.log(err));
原始 html-to-xlsx 响应
由于我对技术工作原理的误解,我可能错过了图书馆的使用,但我真的希望你们中的一些人能指导我正确实施它。
谢谢。
jsreport 有你可以使用的 nodejs 客户端
https://jsreport.net/learn/nodejs-client
您可以查看以下示例,了解如何呈现模板并将输出存储到文件中。
const client = require('jsreport-client')('http://localhost:5488')
const fs = require('fs').promises
async function render () {
const res = await client.render({
template: { shortid: '2_Kw0BRuOm' },
data: { someText: 'world!!' }
})
const responseBuffer = await res.body()
await fs.writeFile('out.xlsx', responseBuffer)
}
render().catch(console.error)
我的数据库中有 HTML 表示的患者数据,我想使用 JSReport 将其打印为 excel sheet。但是,当我从 jsreport 服务器获得带有配方的响应时,它显示为乱码,我找不到将其呈现到 excel 文件中的方法。
虚拟示例
const axios = require("axios");
const url = "http://localhost:5488/api/report/";
const data = {
"template": {
"shortid": "2_Kw0BRuOm",
"recipe": "html-to-xlsx",
"data": {
"people": [
{
"name": "Omar rafat",
"age": "20",
"job": "Software Engineer"
}
]
}
}
}
axios.post(url, {
"template": {
"shortid": "2_Kw0BRuOm",
"recipe": "html-to-xlsx",
"data": {
"people": [
{
"name": "Omar rafat",
"age": "20",
"job": "Software Engineer"
}
]
},
"options": { "reports": { "save": true } }
}
}).then(res => console.log(res.data)).catch(err => console.log(err));
原始 html-to-xlsx 响应
由于我对技术工作原理的误解,我可能错过了图书馆的使用,但我真的希望你们中的一些人能指导我正确实施它。
谢谢。
jsreport 有你可以使用的 nodejs 客户端 https://jsreport.net/learn/nodejs-client
您可以查看以下示例,了解如何呈现模板并将输出存储到文件中。
const client = require('jsreport-client')('http://localhost:5488')
const fs = require('fs').promises
async function render () {
const res = await client.render({
template: { shortid: '2_Kw0BRuOm' },
data: { someText: 'world!!' }
})
const responseBuffer = await res.body()
await fs.writeFile('out.xlsx', responseBuffer)
}
render().catch(console.error)