Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用DOCX.JS设置列大小_Javascript_Reactjs_Ms Word_Electron_Docx - Fatal编程技术网

Javascript 如何使用DOCX.JS设置列大小

Javascript 如何使用DOCX.JS设置列大小,javascript,reactjs,ms-word,electron,docx,Javascript,Reactjs,Ms Word,Electron,Docx,我正在使用electron和react创建一个应用程序,我需要动态创建一个Word文本文档,我发现了一个很棒的包DOCX,但我需要创建一些表,我无法设置列的大小,我需要帮助设置列的大小,下面是代码摘录和文档链接 //eslint禁用下一行 从“docx”导入{Document、Packer、段落、TextRun、Table、TableRow、TableCell、VerticalAlign、HeadingLevel}; const{dialog}=window.require('electron

我正在使用electron和react创建一个应用程序,我需要动态创建一个Word文本文档,我发现了一个很棒的包DOCX,但我需要创建一些表,我无法设置列的大小,我需要帮助设置列的大小,下面是代码摘录和文档链接

//eslint禁用下一行
从“docx”导入{Document、Packer、段落、TextRun、Table、TableRow、TableCell、VerticalAlign、HeadingLevel};
const{dialog}=window.require('electron').remote;
const app=window.require('electron')。远程
常量fs=app.require('fs');
const doc=新文档();
导出默认函数createDocx(){
const table=新表({
行:[
新桌子行({
儿童:[
新表细胞({
儿童:[新段落({}),新段落({})],
垂直对齐:垂直对齐。中心,
}),
新表细胞({
儿童:[新段落({}),新段落({})],
垂直对齐:垂直对齐。中心,
}),
],
}),
新桌子行({
儿童:[
新表细胞({
儿童:[
新段落({
正文:
“诸如此类诸如此类诸如此类诸如此类诸如此类诸如此类诸如此类诸如此类诸如此类诸如此类”,
标题:标题级别。标题_1,
}),
],
}),
新表细胞({
儿童:[
新段落({
文本:“此文本应在”,
}),
],
垂直对齐:垂直对齐。中心,
}),
],
}),
],
});
doc.addSection({
属性:{},
儿童:[
桌子
],  
});
变量选项={
标题:“保存文件”,
默认路径:“我的文件名”,
按钮标签:“保存”,
过滤器:[
{name:'docx',扩展名:['docx',]},
{name:'txt',扩展名:['txt',]},
{name:'所有文件',扩展名:['*']}
]
}
//用于将文件导出为.docx文件
dialog.showsavedilog(选项,(文件名)=>{
如果(文件名===未定义){
console.warn(“您没有保存文件”);
返回;
}       
})。然后(结果=>{
const filename=result.filePath;
toBuffer(doc).then((缓冲区)=>{
fs.writeFile(文件名、缓冲区,(错误)=>{
如果(错误){
警报(“Erro ao salvar o arquivo,原因:+错误信息)
}否则{
警报(“Arquivo Salvo com successo!!”;
}                       
});
});  
}).catch(错误=>{
警报(错误)
})

}
您可能已经解决了这个问题。但对于其他寻求答案的人来说,以下是我所做的:

检查
ITableCellOptions.width.WidthType
以了解更多选项

const columnTitles = ["Title1", "Title2", "Title3"];

const columnTitleRow = new TableRow({
  children: columnTitles.map((title) => {
    return new TableCell({
      // Make all cells the same with over 100% of the available page width
      width: { size: 100 / columnTitles.length, type: WidthType.PERCENTAGE },
      children: [new Paragraph({ text: title })],
    });
  }),
});

你可能已经解决了。但对于其他寻求答案的人来说,以下是我所做的:

检查
ITableCellOptions.width.WidthType
以了解更多选项

const columnTitles = ["Title1", "Title2", "Title3"];

const columnTitleRow = new TableRow({
  children: columnTitles.map((title) => {
    return new TableCell({
      // Make all cells the same with over 100% of the available page width
      width: { size: 100 / columnTitles.length, type: WidthType.PERCENTAGE },
      children: [new Paragraph({ text: title })],
    });
  }),
});