Contents

Word,Excel的相關template套件小記

Contents

最近朋友問我有沒有用程式方法套進去 Word
不過我平常沒有這個需求
我是有跟他提到有 合併列印、VBA
但是查了一下
竟然發現找到【茶包射手日記】純 JavaScript DOCX 套版元件 Debug-黑暗執行緒
原來網頁版 js 就能做到這種事

但我覺得應該還有很多東西
所以整理一下

因為我有先找到js-excel-template - npm
內容兩個圖片,就讓我想馬上測試官網的範例
首先有很複雜的表不建議使用這個

  1. sheet 多筆資料不會套用
  2. 塞多筆 table 資料,可能下面用總計,不會自動往下移
  3. Excel 有設定一些格式不會用

測試程式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
const JsExcelTemplate = require("js-excel-template/nodejs/nodejs").default;
const excelTemplate = JsExcelTemplate.fromFile("test.xlsx");

excelTemplate.set("name", "John");
excelTemplate.set("age", 123);
excelTemplate.set("now", new Date());
excelTemplate.set("isBoy", true);
excelTemplate.set("isGirl", false);

const students = [
  { name: "Tommy", age: 12 },
  { name: "Philips", age: 13 },
  { name: "Sara", age: 14 },
  { name: "中文測試", age: 14 }
];

for (let i = 1; i <= 5; i++) {
  if (i <= students.length) {
    excelTemplate.set(`name${i}`, students[i - 1].name);
    excelTemplate.set(`age${i}`, students[i - 1].age);
  } else {
    excelTemplate.set(`name${i}`, "");
    excelTemplate.set(`age${i}`, "");
  }
}
excelTemplate.set(
  "average",
  students.reduce((p, c) => p + c.age, 0) / students.length
);

excelTemplate.set("students", students);

// nodejs:
excelTemplate.saveAs("out.xlsx");

雖然不推薦,但適合做單頁式報表

… 太多了,不列了

目前GitHub - Skrol29/opentbs: With OpenTBS you can merge OpenOffice - LibreOffice and Ms Office documents with PHP using the TinyButStrong template engine. Simple use OpenOffice - LibreOffice or Ms Office to edit your templates : DOCX, XLSX, PPTX, ODT, OSD, ODP and other formats. That is the Natural Template philosophy.GitHub - optilude/xlsx-template: A NodeJS module to generate Excel files in .xlsx format from a template created with Excel itself這幾個星星數比較多

Exwog - from Excel to Word reports generator (xls to doc, xlsx to docx) by template
GitHub - HY-Org/hy.common.report: 报表、Excel 操作类库。Java 转 Excel、Excel 转 Java
GitHub - hanzhaoxin/ExcelReport: This reporting engine is built on NPOI.
GitHub - Jimmy-JS/laravel-report-generator: Rapidly Generate Simple Pdf, CSV, & Excel Report Package on Laravel
GitHub - biezhi/excel-plus: ❇️ Improve the productivity of the Excel operation library. https://git.io/vNjQy

2019-09-08
可以看這篇php-excel-templator 用範本(template)快速產生Excel方法 | 程式狂想筆記