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
は どうかな?