我有一个SPFX Web部件,它接收用户数据,然后将数据发送到列表
this is how the list looks for context
并且所有的值都是这样存储的:
export interface SPListItem
{
localIndex: number;
ID: number;
Title: String;
CompanyName: string;
ClientName: string;
CurrentDate: string;
PreferredDate: string;
RequestedBy: string;
TypeOf: string;
Reason: string;
Urgent: string;
Department: string;
Chargeable: string;
EstimatedTime: string;
approvedStatus: string;
}
在主要的Web部件类中:
private getListItemData(): void
{
this._getListData()
.then( ( response ) =>
{
let index: number = 0;
response.value.forEach( ( item: SPListItem ) =>
{
this.listItems[ index ] =
{
localIndex: 0,
Title: item.CompanyName + "-" + item.RequestedBy,
CurrentDate: item.CurrentDate,
Chargeable: item.Chargeable,
ID: item.ID,
CompanyName: item.CompanyName,
ClientName: item.ClientName,
RequestedBy: item.RequestedBy,
PreferredDate: item.PreferredDate,
Department: item.Department,
TypeOf: item.TypeOf,
Urgent: item.Urgent,
EstimatedTime: item.EstimatedTime,
Reason: item.Reason,
approvedStatus: item.approvedStatus,
};
index++;
} );
this.printListItemInfo();
return;
} )
.catch( ( err ) =>
{
throw Error( err );
} );
}
我正在寻找一种将这些数据放入预制文件的方法。(例如,有一个docx模板,复制模板并用值替换模板中的所有占位符)
我已经研究了一周的方法,我发现最接近的方法是使用
https://docxtemplater.com/
正如它所说的和
https://pnp.github.io/pnpjs/sp/files/#update-file-content
但在经历了很多挫折之后,我相信这在我的情况下是行不通的。
目前,我有导出到json文件的值:
newGen.json:
{
"Company Name" : "a",
"Client Name" : "b",
"Current Date" : "c",
"Preferred Date" : "d",
"Requested By" : "e",
"Type" : "f",
"Reason" : "g",
"Urgent" : "h",
"Department" : "i",
"Chargeable" : "j",
"Estimated Time" : "k"
}
(注意:我也导出了一个html文件,但在不手动将其转换为pdf或docx的情况下也遇到了类似的问题,这将无法实现目的)