本文介绍如何在 aardio 中使用 NPOI 库设置Excel单元格的各种数据格式,包括数字、科学计数、百分比、货币、电话号码和日期时间格式。
import NPOI;
// 创建工作簿
var workbook = NPOI.XSSF.UserModel.XSSFWorkbook();
// 创建工作表
var sheet = workbook.CreateSheet("Sheet1");
// 创建数据格式对象
var dataformat = workbook.CreateDataFormat();
// 设置单元格格式的辅助函数
function SetCellFormat(workbook, cell, formatId) {
var cellStyle = workbook.CreateCellStyle();
cellStyle.DataFormat = formatId;
cell.CellStyle = cellStyle;
}
// A1单元格:显示2位小数
var cell1 = sheet.CreateRow(0).CreateCell(0);
cell1.SetCellValue(1.234);
SetCellFormat(workbook, cell1, dataformat.GetFormat("0.00"));
// A2单元格:科学计数法显示
var cell2 = sheet.CreateRow(1).CreateCell(0);
cell2.SetCellValue(3.141592654);
SetCellFormat(workbook, cell2, dataformat.GetFormat("0.00E+00"));
// A3单元格:百分比显示
var cell3 = sheet.CreateRow(2).CreateCell(0);
cell3.SetCellValue(0.9933);
SetCellFormat(workbook, cell3, dataformat.GetFormat("0.00%"));
// A4单元格:货币格式
var cell4 = sheet.CreateRow(3).CreateCell(0);
cell4.SetCellValue(2000);
SetCellFormat(workbook, cell4, dataformat.GetFormat("$#,##0"));
// A5单元格:电话号码格式
var cell5 = sheet.CreateRow(4).CreateCell(0);
cell5.SetCellValue(02168883222);
SetCellFormat(workbook, cell5, dataformat.GetFormat("000-00000000"));
// A6单元格:日期时间格式
var cell6 = sheet.CreateRow(5).CreateCell(0);
cell6.SetCellFormula('DateValue("2005-11-11")+TIMEVALUE("11:11:11")');
SetCellFormat(workbook, cell6, dataformat.GetFormat("m/d/yy h:mm"));
// 保存Excel文件
workbook.Write("/sample2.xlsx");
这个实现完整保留了原C#代码的所有功能,同时适应aardio的语法特点,使NPOI在aardio中的使用更加简洁明了。