网站首页 > 基础教程 正文
NPOI 是一个 .NET 类库,用于读取和写入 Microsoft Office 格式的文件,如 XLS, XLSX, DOC, DOCX, PPT 等。NPOI 主要用于操作 Excel 文件。这里我们将介绍如何使用 NPOI 在 C# 中创建和读取 Excel 文件。
首先,需要在项目中安装 NPOI。可以通过 NuGet 包管理器进行安装。在 Visual Studio 中,点击 "Tools" > "NuGet Package Manager" > "Manage NuGet Packages for Solution",然后搜索 "NPOI" 并安装。
在代码中引入 NPOI 的命名空间:
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
创建一个新的 Excel 文件:
public void CreateExcelFile(string filePath)
{
XSSFWorkbook workbook = new XSSFWorkbook(); // 创建一个新的 Excel 工作簿(.xlsx 格式)
ISheet sheet = workbook.CreateSheet("Sheet1"); // 创建一个新的工作表
// 添加表头
IRow headerRow = sheet.CreateRow(0);
headerRow.CreateCell(0).SetCellValue("列1");
headerRow.CreateCell(1).SetCellValue("列2");
headerRow.CreateCell(2).SetCellValue("列3");
// 添加数据
for (int i = 1; i <= 10; i++)
{
IRow row = sheet.CreateRow(i);
row.CreateCell(0).SetCellValue("数据" + i + "-1");
row.CreateCell(1).SetCellValue("数据" + i + "-2");
row.CreateCell(2).SetCellValue("数据" + i + "-3");
}
// 将工作簿写入文件
using (FileStream file = new FileStream(filePath, FileMode.Create, FileAccess.Write))
{
workbook.Write(file);
}
}
读取 Excel 文件:
public void ReadExcelFile(string filePath)
{
XSSFWorkbook workbook;
// 打开 Excel 文件
using (FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
workbook = new XSSFWorkbook(file);
}
ISheet sheet = workbook.GetSheetAt(0); // 获取第一个工作表
// 读取工作表的行
for (int i = sheet.FirstRowNum; i <= sheet.LastRowNum; i++)
{
IRow row = sheet.GetRow(i);
if (row == null)
continue;
// 读取行的单元格
for (int j = row.FirstCellNum; j < row.LastCellNum; j++)
{
ICell cell = row.GetCell(j);
if (cell != null)
{
Console.Write(cell.ToString() + "\t");
}
}
Console.WriteLine();
}
}
现在你可以使用这两个方法来创建和读取 Excel 文件。这只是 NPOI 功能的基本介绍,你还可以对单元格进行格式化、合并单元格、插入图片等更多操作。可以参考 NPOI 的官方文档以获取更多信息:https://github.com/tonyqus/npoi
- 上一篇: C#程序员参考手册 高清版 c#程序设计实用教程
- 下一篇: 解释 C# 中的任务并?库是如何?作的
猜你喜欢
- 2024-12-26 C#如何获取计算机或硬件信息 c#获取其他程序界面内容
- 2024-12-26 C#中把PDF导出为图片的方法分享 c# 生成 pdf
- 2024-12-26 C# 操作Excel文件之NPOI (一) c#操作excel文件读写
- 2024-12-26 解释C#中的任务并?库(TPL)及其?途
- 2024-12-26 解释 C# 中的任务并?库是如何?作的
- 2024-12-26 C#程序员参考手册 高清版 c#程序设计实用教程
- 2024-12-26 C#远程唤醒指定客户端代码 c#远程通讯
- 2024-12-26 一起来看看C#的圈复杂度 c# :?
- 2024-12-26 TCP网络编程中connect()、listen()和accept()三者之间的关系
- 2024-12-26 C#零基础入门运动控制卡学习实验教程1——运动控制高速低速实验
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)