NPOI 写入 XLS 但不写入 XLSX

作者:编程家 分类: excel 时间:2025-08-29

使用NPOI库可以方便地编写代码来生成和操作Excel文件。在这篇文章中,我们将重点介绍如何使用NPOI来写入XLS文件,而不是XLSX文件。

什么是NPOI?

NPOI是一个用于读取和写入Microsoft Office格式文件的.NET库。它可以与C#或VB.NET一起使用,并提供了一套强大的API,使我们能够轻松地创建、修改和处理Excel、Word和PowerPoint文件。

为什么选择XLS而不是XLSX?

虽然XLSX是使用Office 2007及更高版本中的XML格式创建的新文件格式,但在某些情况下,我们可能希望仍然使用旧的XLS格式。例如,当我们需要向旧版本的Office用户发送文件,或者当我们需要与其他软件或系统进行兼容时,选择XLS文件可能更合适。

使用NPOI写入XLS文件的代码示例

下面是一个使用NPOI库来写入XLS文件的简单示例代码:

csharp

using NPOI.HSSF.UserModel;

using NPOI.SS.UserModel;

using System.IO;

class Program

{

static void Main(string[] args)

{

// 创建一个新的Excel工作簿

IWorkbook workbook = new HSSFWorkbook();

// 创建一个工作表

ISheet sheet = workbook.CreateSheet("Sheet1");

// 创建一个行对象

IRow row = sheet.CreateRow(0);

// 在第一行的单元格中写入数据

row.CreateCell(0).SetCellValue("姓名");

row.CreateCell(1).SetCellValue("年龄");

row.CreateCell(2).SetCellValue("职业");

// 创建第二行并写入数据

row = sheet.CreateRow(1);

row.CreateCell(0).SetCellValue("张三");

row.CreateCell(1).SetCellValue(25);

row.CreateCell(2).SetCellValue("工程师");

// 将工作簿保存为XLS文件

using (FileStream fs = new FileStream("output.xls", FileMode.Create))

{

workbook.Write(fs);

}

}

}

在上面的示例代码中,我们首先创建了一个新的Excel工作簿,然后创建了一个名为"Sheet1"的工作表。接下来,我们创建了一个行对象,并在第一行的单元格中写入了标题。然后,我们创建了第二行并填充了一些示例数据。最后,我们将工作簿保存为名为"output.xls"的XLS文件。

这只是一个简单的示例,你可以根据自己的需求进行更复杂的操作,如合并单元格、设置样式、添加公式等。

NPOI是一个功能强大的.NET库,可以帮助我们轻松地生成和操作Excel文件。在本文中,我们介绍了如何使用NPOI来写入XLS文件,并提供了一个简单的代码示例来说明这个过程。无论是为了与旧版本的Office兼容,还是与其他软件或系统进行交互,选择XLS文件格式都是一个不错的选择。