【问题标题】:Modifying XLSX column datatype to Text将 XLSX 列数据类型修改为文本
【发布时间】:2019-08-23 11:03:00
【问题描述】:

我正在研究 XLSX npm 并尝试下载一个示例 excel 文件并向其中添加一些数据,然后将其上传回来。我有像 MOBILE NUMBERDATETIMENAME 这样的字段。当我上传文件时,我将其转换为 JSON 以及字段 DATE、TIME 和 MOBILE NUMBER 的值,我收到十进制和指数值的数据,所以我尝试在下载时将 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 = 'Text';

wb.Sheets['Sheet1']['C1'].z = 'Text';

wb.Sheets['Sheet1']['D1'].z = 'Text';

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

使用上面的代码我无法将列数据类型修改为TEXT,而且我不知道我期望什么是可以实现的,任何建议都将不胜感激。谢谢

【问题讨论】:

    标签: javascript jquery angular typescript xlsx


    【解决方案1】:

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

    var fmt = '@'; 
    then when you  pass fmt insted of 'Text' like this : 
    
    wb.Sheets['Sheet1']['B1'].z = fmt;
    

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

    【讨论】:

    • @Swati 我有带千位分隔符的数字,我想以 Number 的形式导出到 excel,那么我该怎么做呢?
    • @Swati 我已经为此发布了新的任务,stackoverflow.com/questions/62154444/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    • 2019-10-14
    • 2013-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多