如何从react

问题描述

我有react页面,该页面从DB检索表并将其转换为csv,然后转换为xlsx。通过以下更改,我将获得无边框且列标题不是粗体的excel。谁能建议一些以我想要的格式获得Excel的方法

边界线应较粗,列标题应为粗体,带有列标题的第一行应为灰色填充。

convertToCSV=(objArray)=> {
     const header=[];
     let data=[];
     for(let i=0; i< this.state.columns.length; i++){ 
        header.push(this.state.column[i].field);
     }
     data.push(header);

     objArray.map(function(row){
         let rowArray=[];
         header.map(function(fieldName){
            rowArray.push(row[fieldName]);
         });
         data.push(rowArray);
     });
     return data;
}
render(){
    exportButtom:true,exportCsv:(data)=>{
       let title= this.state.title;
       var csv=this.convertToCSV(data);
       var wb= XLSX.utils.book_new();
       wb.SheetNames.push(title);
       var ws_data=csv;
       var ws= XLSX.utils.aoa_to_sheet(ws_data);
       wb.Sheets[title]=ws;
       var wbout=XLSX.write(wb,{bookType:'xlsx',type:'binary'});
       function s2ab(s){
           var buf=new ArrayBuffer(s.length);
           var view=new Unit8Array(buf)
           for(var i=0; i<s.length; i++) view[i]=s.charCodeAt[i] & 0xFF;
           return buf;
       }
       saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}),title+ '.xlsx');
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)