使用 Javascript 将对象数组导出到 Excel

GBI*_*GBI 1 javascript arrays excel

我正在编写一个客户端方法,它创建一个对象数组。我打开一个现有的 excel 来写入数组中的值。我使用 getProperty 获取值并存储在变量中。当我尝试在 excel 中编写这些时,我收到“事件处理程序失败并显示消息”;“”。

代码:

var getItemtoExcel = document.thisItem.newItem("ToExcel", "get");
getItemtoExcel = getItemtoExcel.apply();

var arrToExcel = Array();
for (var j = 0; j < getItemtoExcel.getItemCount(); j++) {
    var gotItemForExcel = getItemtoExcel.getItemByIndex(j);
    arrToExcel.push(gotItemForExcel);
}

var Excel = new ActiveXObject("Excel.Application");
Excel.Visible = true;
Excel.Workbooks.Open("C:\\test.xls");

var offset = 0;
var row = 2;
for (var c = 0; c < arrToExcel.length; c++) {
    var createExcel = arrToExcel[c];
    var Number = createExcel.getProperty("nb");
    var Type = createExcel.getProperty("type");
    var Code = createExcel.getProperty("code");
    var State = createExcel.getProperty("state");

    Excel.Worksheets("sheet11").Range("A" & row + 1 + offset).Value = Number;
    Excel.Worksheets("sheet11").Range("B" & row + 1 + offset).Value = Type;
    Excel.Worksheets("sheet11").Range("C" & row + 1 + offset).Value = Code;
    Excel.Worksheets("sheet11").Range("D" & row + 1 + offset).Value = State;
    row = row + 1;
}

offset = offset + 1;
return this;
Run Code Online (Sandbox Code Playgroud)

document.thisItem.newItem() 来自 ARASPLM。它是用于在 ARAS 中调用 ItemType(Item) 的标准

jet*_*com 6

如果您有机会使用SheetJS,那就很简单了

Firstly, Install xlsx package npm install --save xlsx

  const XLSX = require('xlsx')
  
  // array of objects to save in Excel
  let binary_univers = [{'name': 'Hi','value':1},{'name':'Bye','value':0}]

  let binaryWS = XLSX.utils.json_to_sheet(binary_univers); 
  
  // Create a new Workbook
  var wb = XLSX.utils.book_new() 

  // Name your sheet
  XLSX.utils.book_append_sheet(wb, binaryWS, 'Binary values') 

  // export your excel
  XLSX.writeFile(wb, 'Binaire.xlsx');
Run Code Online (Sandbox Code Playgroud)