将XLSX列数据类型修改为Text

时间:2019-04-02 07:41:49

标签: javascript jquery angular typescript xlsx

我正在XLSX npm上工作,并尝试下载示例excel文件并向其中添加一些数据,然后将其上传回。我有MOBILE NUMBERDATETIMENAME之类的字段。当我上传文件Iam并将其转换为JSON以及DATE,TIME和MOBILE NUMBER字段的值时,我正在接收十进制和指数值的数据,因此Iam尝试在默认情况下将excel列数据类型修改为Text使用以下代码下载excel文件

this.headers[0] = ['Name', 'Mobile','Time','Date']

const ws = XLSX.utils.aoa_to_sheet(this.headers);
const ws = XLSX.utils.aoa_to_sheet(this.headers);
const wb: XLSX.WorkBook = XLSX.utils.book_new();

var range = XLSX.utils.decode_range(ws['!ref']);
for (var r = range.s.r; r <= range.e.r; r++) {
  for (var c = range.s.c; c <= range.e.c; c++) {
    var cellName = XLSX.utils.encode_cell({ c: c, r: r });
  }
}

XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
  

wb.Sheets ['Sheet1'] ['B1']。z ='文本';

     

wb.Sheets ['Sheet1'] ['C1']。z ='文本';

     

wb.Sheets ['Sheet1'] ['D1']。z ='文本';

XLSX.writeFile(wb, 'Sample.xlsx');

使用上述代码Iam无法将colum数据类型修改为TEXT,并且我不知道Iam期望的目标是可以实现的,任何建议将不胜感激。谢谢

1 个答案:

答案 0 :(得分:0)

如果您想在编写set number时以excel作为文本,请添加:-

var fmt = '@'; 
then when you  pass fmt insted of 'Text' like this : 

wb.Sheets['Sheet1']['B1'].z = fmt;

如果有帮助,请写信给我。