コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

エクセルしぐさ

エクセルを使うにあたって守るべきことはたくさんあるよね

エクセルにはいろいろなお作法があり、それを守らないといろいろと大変なことになるといわれています。どう大変なことになるかはわかりませんが、守らなければスゴクシツレイにあたる行為と一般には言われています。また一説によるとマナー講師の数だけエクセルしぐさは存在するとさえ言われておりその流派は多岐にわたります。本日はそんなエクセルしぐさを……。


ということで、おはようございます。僕です。意味わからない出だしで文章書いてしまいましたがついてこれてますか?僕は案の定ダメです。まあいいや。某サイト見てたらJSでエクセルいじりできるツールを知ったのでちょっと遊んでみることにしたっていう話をしようかと思います。

コレ
GitHub - dtjohnson/xlsx-populate: Excel XLSX parser/generator written in JavaScript with Node.js and browser support, jQuery/d3-style method chaining, encryption, and a focus on keeping existing workbook features and styles in tact.

導入

npm install xlsx-populate


んで、とりま練習としてこんなの作ってみる。

const XlsxPopulate = require('xlsx-populate');

XlsxPopulate.fromFileAsync("./vba.xlsx").then(workbook => {

  // 各シートをA1に移動する
  sheetsNum = workbook.sheets()[0]._workbook._sheets.length;
  for(let i=0; i<sheetsNum; i++){
     workbook.sheet(i).cell("A1").active(true);
  }

  // 一番最初のシートをアクティブにする
  const sheet = workbook.sheet(0);
  workbook.activeSheet(sheet);
  
  return workbook.toFileAsync("./vba.xlsx");
});

すべてのシートをA1に移動して保存するエクセルしぐさを書いてみる。これElectronで作ると簡易RPA的に使えるかなとか思ったりしなかったりするんだけどどうなんだろ。ほかにこんなエクセルしぐさがあるよとかあればなんか作るかもしれないし作らないかもしれないのでよろしくお願いします。


node {ファイル名}.js

ちなみにこれで実行してやれば多分動くはず。実行するファイルはvba.xlsxなんで必要に応じて高度な柔軟性を維持して臨機応変に対応してやってください。


といったのがあったんでやってみたのでした。

おわり