264 lines
7.6 KiB
TypeScript
264 lines
7.6 KiB
TypeScript
// Multiple cells merging in the same table - Rows and Columns
|
|
|
|
import * as fs from "fs";
|
|
import { Document, Packer, Paragraph, Table, TableCell, TableRow } from "docx";
|
|
|
|
const table = new Table({
|
|
rows: [
|
|
new TableRow({
|
|
children: [
|
|
new TableCell({
|
|
children: [new Paragraph("0,0")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("0,1")],
|
|
columnSpan: 2,
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("0,3")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("0,4")],
|
|
columnSpan: 2,
|
|
}),
|
|
],
|
|
}),
|
|
new TableRow({
|
|
children: [
|
|
new TableCell({
|
|
children: [new Paragraph("1,0")],
|
|
columnSpan: 2,
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("1,2")],
|
|
columnSpan: 2,
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("1,4")],
|
|
columnSpan: 2,
|
|
}),
|
|
],
|
|
}),
|
|
new TableRow({
|
|
children: [
|
|
new TableCell({
|
|
children: [new Paragraph("2,0")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("2,1")],
|
|
columnSpan: 2,
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("2,3")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("2,4")],
|
|
columnSpan: 2,
|
|
}),
|
|
],
|
|
}),
|
|
new TableRow({
|
|
children: [
|
|
new TableCell({
|
|
children: [new Paragraph("3,0")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("3,1")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("3,2")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("3,3")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("3,4")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("3,5")],
|
|
}),
|
|
],
|
|
}),
|
|
new TableRow({
|
|
children: [
|
|
new TableCell({
|
|
children: [new Paragraph("4,0")],
|
|
columnSpan: 5,
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("4,5")],
|
|
}),
|
|
],
|
|
}),
|
|
new TableRow({
|
|
children: [
|
|
new TableCell({
|
|
children: [],
|
|
}),
|
|
new TableCell({
|
|
children: [],
|
|
}),
|
|
new TableCell({
|
|
children: [],
|
|
}),
|
|
new TableCell({
|
|
children: [],
|
|
}),
|
|
new TableCell({
|
|
children: [],
|
|
}),
|
|
new TableCell({
|
|
children: [],
|
|
}),
|
|
],
|
|
}),
|
|
],
|
|
});
|
|
|
|
const table2 = new Table({
|
|
rows: [
|
|
new TableRow({
|
|
children: [
|
|
new TableCell({
|
|
children: [new Paragraph("0,0")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("0,1")],
|
|
rowSpan: 2,
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("0,2")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("0,3")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("0,4")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("0,5")],
|
|
}),
|
|
],
|
|
}),
|
|
new TableRow({
|
|
children: [
|
|
new TableCell({
|
|
children: [new Paragraph("1,0")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("1,2")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("1,3")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("1,4")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("1,5")],
|
|
}),
|
|
],
|
|
}),
|
|
new TableRow({
|
|
children: [
|
|
new TableCell({
|
|
children: [new Paragraph("2,0")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("2,1")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("2,2")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("2,3")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("2,4")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("2,5")],
|
|
}),
|
|
],
|
|
}),
|
|
new TableRow({
|
|
children: [
|
|
new TableCell({
|
|
children: [new Paragraph("3,0")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("3,1")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("3,2")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("3,3")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("3,4")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("3,5")],
|
|
}),
|
|
],
|
|
}),
|
|
new TableRow({
|
|
children: [
|
|
new TableCell({
|
|
children: [new Paragraph("4,0")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("4,1")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("4,2")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("4,3")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("4,4")],
|
|
}),
|
|
new TableCell({
|
|
children: [new Paragraph("4,5")],
|
|
}),
|
|
],
|
|
}),
|
|
new TableRow({
|
|
children: [
|
|
new TableCell({
|
|
children: [],
|
|
}),
|
|
new TableCell({
|
|
children: [],
|
|
}),
|
|
new TableCell({
|
|
children: [],
|
|
}),
|
|
new TableCell({
|
|
children: [],
|
|
}),
|
|
new TableCell({
|
|
children: [],
|
|
}),
|
|
new TableCell({
|
|
children: [],
|
|
}),
|
|
],
|
|
}),
|
|
],
|
|
});
|
|
|
|
const doc = new Document({
|
|
sections: [
|
|
{
|
|
children: [table, new Paragraph(""), table2],
|
|
},
|
|
],
|
|
});
|
|
|
|
Packer.toBuffer(doc).then((buffer) => {
|
|
fs.writeFileSync("My Document.docx", buffer);
|
|
});
|