node-exceljs を少し試してみる

環境はWin10 Pro x64 + Excel2013 x32

使用したデータはこちら郵便番号検索の17ISHIKA.CSV

nodejsでExcelをたたくモジュールはいくつかあるんだけど、サンプルが直下にあったのでexceljsを選択。

ワークシート(ISHSIKAWA)に17ISHIKA.CSVを張り付けたデータを使用する。(Sheet1も追加)

> npm install exceljs

var Excel = require('exceljs');
var workbook = new Excel.Workbook();
workbook.xlsx.readFile("./samp.xlsx")
.then(function() {

    // ワークシートの一覧を表示→ISHSIKAWA, Sheet1
    workbook.eachSheet(function(worksheet, sheetId) {
        console.log(worksheet.name);
    });
    // ISHSIKAWA シートを選択
    var worksheet = workbook.getWorksheet('ISHSIKAWA');
    // 選択しているシート名を表示→ISHSIKAWA
    console.log(worksheet.name);
    // 行数の表示→2552
    console.log(worksheet.rowCount);
    console.log(worksheet.actualRowCount);
    // 列数の表示→15
    console.log(worksheet.columnCount);
    console.log(worksheet.actualColumnCount);
    // 1行分のデータの個数→16:0オリジン(zero-basedが正しい様だ)の配列のため16が表示
    console.log(worksheet.getRow(8).values.length); 
    row = worksheet.getRow(8).values;
    // 1行分のデータを取得
    //[ <1 empty item>,     0
    //  '17201',
    //  '92011',
    //  '9201145',
    //  'イシカワケン',
    //  'カナザワシ',
    //  'アサカワマチ',
    //  '石川県',
    //  '金沢市',
    //  '浅川町',
    //  '0',
    //  '1',
    //  '0',
    //  '0',
    //  '0',
    //  '0' ]               16
    console.log(row);
    // .cells("F8").Textを表示→アサカワマチ
    console.log(worksheet.getRow(8).getCell(6).text);
    // .cells("I8").Textを表示→浅川町
    console.log(worksheet.getCell('I8').value);
});

Cells(1, Columns.Count).End(xlToLeft).Column

Cells(Rows.Count, 1).End(xlUp).Row

は どうかな?