Как сделать весь столбец как numeri c при экспорте JSON в Excel с помощью Java Script - PullRequest
0 голосов
/ 06 мая 2020

Я использую xlsx.core.min. js для экспорта json объекта в excel; Я меняю формат каждой ячейки, перебирая их.
Есть ячейки с пустыми данными, которые также были записаны в Excel.

Проблема в том, что когда в столбце больше пустых ячеек и мало ячеек с числами, Excel рассматривает весь столбец как Текстовый столбец, которого не должно происходить, если столбец имеет одно число, его следует рассматривать только как числовое поле.

Я ссылался на это для преобразования данных в числа https://github.com/SheetJS/sheetjs/issues/966
Как решить эту проблему, нужна помощь !!

  /* new format */
  var fmt = "0.00";
  /* change cell format of range B2:D4 */
  var range = { s: {r:1, c:convert_from_col}, e: {r:excel_row_list.length, c:excel_row_list[0].length} };
  for(var R = range.s.r; R <= range.e.r; ++R) {
    for(var C = range.s.c; C <= range.e.c; ++C) {
    // debugger;
      var cell = ws[XLSX.utils.encode_cell({r:R,c:C})];
      if(!cell || cell.t != 's') continue; // only format numeric cells
      if(cell.v != "" && cell.v != "NA" && cell.v != "AB" && cell.v != "-"){
        cell.v = parseFloat(cell.v)
        cell.t = "n";
        cell.z = fmt;
      }
    }
  }

  /* generate workbook */
  var wb = XLSX.utils.book_new();
  XLSX.utils.book_append_sheet(wb, ws, "sheet1");

  /* generate file and download */
  const wbout = XLSX.write(wb, { type: "array", bookType: "xlsx" });
  saveAs(new Blob([wbout], { type: "application/octet-stream" }), filename+".xlsx");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...