1

ランダムな列を含む Excel (xlsx) ファイルがあります。これらの列の一部には、一部のセルの合計にマップされた数式があります。例えば:

=J8+F9-H9

私の場合、次の 3 つの列があります。

F: number
H: number
J: =sum of previous row's F and H cell's values.

外部データを取得し、このブックにセルごとに保存することを目指しています。このために、Nodeモジュールのexceljsを使用しています。

これはこれまでのコードです。今のところ値をハーコーディングしています (後で別のファイルから取得します)。

var workbook = new Excel.Workbook();
var filename = 'Bank Synoptic Journal.xlsx'
workbook
.xlsx
.readFile(filename)
.then(function() {
   var worksheet = workbook.getWorksheet('Bank Synoptic');

   var row = null;
   row = worksheet.getRow(8);
   row.getCell('J').value = Math.random();
   row.commit();

   for(var i=9; i<=305;i++) { //row 
      row = worksheet.getRow(i);
      row.getCell('F').value = Math.random();
      row.getCell('H').value = Math.random();
      row.commit();
  }
})
.then(function() {
   return workbook.xlsx.writeFile(filename + '_modified.xlsx');
})
.then(function() {
   console.log('Done!');
});

出力を新しい Excel ファイルに出力します。私が直面している問題は、セル「J」、つまり数式が含まれていることです。これらのセルは一貫性なく壊れています。

  • 一部のセルは数式を保持し、計算を行います
  • 他の人はこれ以上数式も計算もしていません (数式の代わりに '0' を持っています)
  • この注入メカニズムを使用すると、再計算は自動的に行われません。

(スナップショット)

スナップショット

数式で

数式なし

このエラーの原因となっているのは、何が欠けているか、間違っているのでしょうか?

4

1 に答える 1