# 使用 NPOI 创建 Excel 工作簿

## 基础示例

以下示例演示如何使用 aardio 调用 NPOI 创建 Excel 工作簿并写入数据：

```aardio
// 导入 NPOI 库
import NPOI;

// 创建 XSSF 工作簿对象（对应 .xlsx 格式）
var workbook = NPOI.XSSF.UserModel.XSSFWorkbook();

// 创建一个名为 "Sheet1" 的工作表
var sheet = workbook.CreateSheet("Sheet1");

// 创建 15 行数据，在 A 列填充数字 1-15
for(i=1;15;1){
    // 创建行和单元格，并设置单元格值
    // 注意：NPOI 中行号和列号从 0 开始计数
    sheet.CreateRow(i).CreateCell(0).SetCellValue(i); // 填充 A2, A3...A16
}

// 将工作簿保存为 "sample.xlsx" 文件
workbook.Write("/sample.xlsx");
```

## 关键点说明

1. **索引从 0 开始**：
   - NPOI 中的行号和列号都是从 0 开始计数
   - 例如 `CreateRow(1)` 实际创建的是 Excel 中的第 2 行

2. **文件路径**：
   - aardio 中使用单个斜杠 `/` 开头的路径表示应用程序根目录
   - 也可以使用完整路径如 `C:\path\to\file.xlsx`

3. **性能优化**：
   - 批量操作时建议先创建所有行和单元格，最后再设置值
   - 避免频繁调用 `Write` 方法，最好一次性写入

4. **异常处理**：
   - 建议使用 `try...catch` 捕获可能的 IO 异常
   - 例如文件被占用或权限不足等情况

## 扩展功能

NPOI 还支持：
- 读取现有 Excel 文件
- 设置单元格样式和格式
- 创建图表和数据验证
- 处理公式和函数
- 更多高级功能...
