aardio 文档

NPOI 单元格设置

概述

本文介绍如何在 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");

格式说明

  1. 数字格式:"0.00"表示保留两位小数
  2. 科学计数法:"0.00E+00"表示科学计数法显示
  3. 百分比:"0.00%"表示百分比格式
  4. 货币格式:"$#,##0"表示美元货币格式
  5. 电话号码:"000-00000000"表示电话号码格式
  6. 日期时间:"m/d/yy h:mm"表示月/日/年 时:分格式

注意事项

  1. aardio中使用NPOI需要先导入NPOI扩展库
  2. 单元格行号和列号从0开始计数(与Excel界面显示的行列号差1)
  3. 日期时间格式设置需要先设置正确的单元格值(数值或公式)
  4. 保存文件时直接使用Write方法,aardio会自动处理文件流

这个实现完整保留了原C#代码的所有功能,同时适应aardio的语法特点,使NPOI在aardio中的使用更加简洁明了。

Markdown 格式