目录
vue导出word,docxtemplater,多重遍历,图片以及判断
使用Javascript在应用程序中生成docx, pptx或xlsx
Docxtemplater是一个邮件合并工具,以编程方式使用,可以处理条件、循环,还可以扩展以插入图像、html或表。docxtemplater使用Javascript对象(或JSON)作为数据输入,所以它也可以很容易地从其他语言使用(见docker版本)。它处理docx, pptx和一个插件xlsx模板。它的工作方式与模板引擎相同,你给它一个模板+一些数据,它将输出一个生成的文档。许多解决方案,如docx.js、docx4j。Python-docx可以生成docx,但它们需要您编写特定的代码来创建标题、图像等。相比之下,docxtemplater基于标记的概念,每种类型的标记都向编写模板的用户公开一个特性。
npm
npm install docxtemplater --save
yarn
yarn add docxtemplater -s
// js给的数据结构
{
name:'小新',
age:5
}
// word 模板中
偶是{name},年龄:{age}岁
// word文档结果中
偶是小新,年龄:5岁
以 {#000}开始,以 {/000} 结尾
// js给的数据结构
{
"hasHuman": true,
"Human": "家人"
"hasDog": false,
"dog": 流浪狗
}
// word 模板中
{#hasHuman}小白是{Human}{/hasHuman}
{#hasDog}小白是{dog}{/hasDog}
// word文档结果中
小白是家人
循环和条件的用法一致
// js给的数据结构
{
"products": [
{ name: "Windows", price: 100 },
{ name: "Mac OSX", price: 200 },
{ name: "Ubuntu", price: 0 }
]
}
// word 模板中
{#products}
{name}, {price} €
{/products}
// word文档结果中
Windows, 100 €
Mac OSX, 200 €
Ubuntu, 0€
遍历包含基本数据(如字符串)的数组:
// js给的数据结构
{
"products": [
"Windows",
"Mac OSX",
"Ubuntu"
]
}
// word 模板中
{#products} {.} {/products}
// word文档结果中
Windows Mac OSX Ubuntu
word 模板
| Name | Age | Phone Number |
|---|---|---|
| {#users}{name} | {age} | {phone}{/} |
js数据
{
users: [
{ name: "John", age: 22, phone: "+33653454343" },
{ name: "Mary", age: 25, phone: "+33666666666" },
],
}
word结果
| Name | Age | Phone Number |
|---|---|---|
| John | 22 | +33653454343 |
| Mary | 25 | +33666666666 |
待更新。。。。。。。。。
特别标注:此处都是引用大佬的,我只是一个无情的搬运工,还是需要多多向大佬学习
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我最近开始学习Ruby,这是我的第一门编程语言。我对语法感到满意,并且我已经完成了许多只教授相同基础知识的教程。我已经写了一些小程序(包括我自己的数组排序方法,在有人告诉我谷歌“冒泡排序”之前我认为它非常聪明),但我觉得我需要尝试更大更难的东西来理解更多关于Ruby.关于如何执行此操作的任何想法?
Asitcurrentlystands,thisquestionisnotagoodfitforourQ&Aformat.Weexpectanswerstobesupportedbyfacts,references,orexpertise,butthisquestionwilllikelysolicitdebate,arguments,polling,orextendeddiscussion.Ifyoufeelthatthisquestioncanbeimprovedandpossiblyreopened,visitthehelpcenter提供指导。已关闭8年。什么是学习ruby语言
如果这是一个愚蠢的问题,我很抱歉,但我是一个在ruby周围摸索的C#人..在ruby中,我注意到很多人这样做:do_something(withparams)if1=1那个和这个之间有什么区别吗(甚至是轻微的):if1=1do_something(withparams)还是为了更清楚而写的相同内容? 最佳答案 后者在句法上是无效的。你需要写:if1==1thendo_something(withparams)end单行条件句必须始终尾随。是的,有区别。试试这些:bar1=iffoo1=14foo1*3end#=>42bar2
我在OSX10.9.1中启动终端时反复出现问题。每次启动终端时,我都会重复以下至少30次Unknownoption:1Usage:head[-options]...-musemethodfortherequest(defaultis'HEAD')-fmakerequestevenifheadbelievesmethodisillegal-bUsethespecifiedURLasbase-tSettimeoutvalue-iSettheIf-Modified-Sinceheaderontherequest-cusethiscontent-typeforPOST,PUT,CHECKIN-
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我刚刚发现了whatc#knowledgeshouldIhave?问题和想知道的相同,但对于Ruby。我认为Ruby是我最喜欢的编程语言,除了学习基础知识外,至少我从众多RubyonRails项目和一些Ruby脚本中学到的东西,我还尝试通过阅读像Gluttonous这样的博客来学习。,O'ReillyRuby,OlaBini,和PolishingRuby.
我是从Java转过来接触Ruby的新手。我正在尝试发出一个httpget请求,我得到一个400的http响应代码。我通过http调用的服务非常特殊,我很确定我的请求不完全正确。“深入了解”req会很有帮助在我执行head请求(如下)以仔细检查正在发送的request_headers是否是我认为我正在发送的内容之后。有没有办法打印出req对象?req=Net::HTTP.new(url.host,url.port)req.use_ssl=trueres=req.head(pathWithScope,request_headers)code=res.code.to_iputs"Respon
Unity基础知识之顶点吸附、创建组合体一、顶点吸附顶点吸附:选择物体后按住键盘上的V键,鼠标定点定位,再拖拽到目标物体对齐即可。注:操作成功后先松V键。1、两个平面Plane的顶点吸附2、两个物体cube的顶点吸附二、创建组合体(子弹)组合体子弹由2个capsule(胶囊)、1个cylinder(圆柱体)组成,如图先创建这3个对象。再将其中一个capsule按照一定比例缩小,将三个对象按照一定位置放置好。创建一个GameObject,将三个对象放在该GameObject里,这样就是父子结构。为创建的组合体即子弹可以添加材质Material:在assets目录下新建Material,选择颜色后
承接上篇文章(十分钟了解关于TCP/IP网络的基础知识)五.ARP(地址解析协议) 虽说使用IP地址确实方便了我们使用者记忆以及整理归类、寻找信息的发送目的地,但是最终接收数据的地方,还是MAC地址,于是乎,为了实现有IP地址到MAC地址的转换,引入了名为ARP(AddressResolutionProtocol)又称之为地址解析协议。 ARP通过广播(Broadcast,这是个专业名词,后面还会继续提起)的方式对LAN中所有的计算机提问:“哎,谁IP地址是10.165.7.116(上篇文章中的例子)呀?你MAC地址多少啊,快过来登记一下!”,如果有哪台计算机回复了MA
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我是设计出身。我的编程知识是零。在学习了XHTML和CSS之后,我想学习并掌握JavaScript、jQuery等。我应该如何开始?这将是我第一次尝试编程。我可以使用和编辑现成可用的jQuery/JavaScript脚本,但我不能自己制
由于ESLint,我发现了一个规则newline-before-return关于return语句之前的空行。但是在函数的第一条语句之前没有看到关于空行的规则。例如:function(a){varb=+a;}ESlint对此有规定吗?如果有,这条规则的名称是什么?谢谢 最佳答案 padded-blocks规则允许您在block的开始和结束处要求换行,包括函数体。除了函数体之外,它还涵盖了if语句、for和while循环以及其他类似block的结构体,您可以可能想要也可能不想要。尝试将以下代码粘贴到demo中,看看它是否适合您:/*es