`xlsx`でシート名の取得

arm-band/schema_ha-mephorash_excelで使用したxlsx – npmで、シート名の一覧を取得できないか、と考えました。

……普通にデフォルトで用意されていました。

const xlsx     = require('xlsx')
let dataExcel = xlsx.readFile('hoge.xlsx')
let sheetNames = dataExcel.SheetNames;
console.log(sheetNames);

SheetNamesでブックファイル内のシートの名前一覧を配列で返してくれるそうです。ありがたい!

const mainLoop = (dataExcel, arrayDist) => {
    for(let i = 0; i < dataExcel.SheetNames.length; i++) { //シートの数だけループ
        arrayDist[dataExcel.SheetNames[i]] = []
        const sheet = dataExcel.Sheets[dataExcel.SheetNames[i]] //シート取得
        const range = sheet["!ref"] //範囲取得
        const decodeRange = utils.decode_range(range) //セル範囲を数値表現に変換
        for (let rowIndex = decodeRange.s.r; rowIndex <= decodeRange.e.r; rowIndex++) {
            行ごとの処理
            for (let colIndex = decodeRange.s.c; colIndex <= decodeRange.e.c; colIndex++) {
              //列ごとの処理
            }
        }
        arrayDist[dataExcel.SheetNames[i]].push({
            //配列に値をプッシュ
        })
    }
}

例えばこんな感じで使える、ということですね。

参考

この記事を書いた人

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。