この投稿 の続き
Node.jsでエクセルを扱いたい。「ya-csv」でcsvを読み書きするみたいにエクセルを読み書きしたい。
今度は書き込む。使うのは同じく exceljs
exports.writeOnXlsx=(filePath, sheetName, dataArr)=>{
const workbook = new excel.Workbook();
workbook.creator = "作者名";
workbook.created = new Date();
const sheet = workbook.addWorksheet(sheetName);
dataArr.forEach((data, rowIndex)=>{
sheet.addRow(data);
//data.forEach((d, colIndex)=>{
// const targetCell = sheet.getCell(rowIndex+1, colIndex+1);
//});
});
workbook.xlsx.writeFile(filePath).then(()=>{
console.log('written down=> ' + filePath);
});
};
読むより書くほうが楽。
フォントも変えられる。
以下だと、フォント:Meiryo UI, サイズ:12
dataArr.forEach((data, rowIndex)=>{
sheet.addRow(data);
data.forEach((d, colIndex)=>{
const targetCell = sheet.getCell(rowIndex+1, colIndex+1);
targetCell.style.font ={
size: 12,
name: "Meiryo UI"
};
});
});
セルの色も変えられる。
以下だと、黄色塗りつぶし
dataArr.forEach((data, rowIndex)=>{
sheet.addRow(data);
data.forEach((d, colIndex)=>{
const targetCell = sheet.getCell(rowIndex+1, colIndex+1);
targetCell.style.fill ={
stype: "pattern",
pattern: "solid",
fgColor: {argb: "FFFFFF00"}
//赤にする
//fgColor: {theme: 5}
};
});
});