代码之家  ›  专栏  ›  技术社区  ›  arloargent

基于typescript或json等文件的值从模板生成文件

  •  0
  • arloargent  · 技术社区  · 2 年前

    我有一个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的情况下也遇到了类似的问题,这将无法实现目的)

    0 回复  |  直到 2 年前
    推荐文章