在企业级 WinForm 开发中,Excel 导入导出是最常用的功能之一,常用于数据批量录入、报表生成、数据备份等场景。
本文将带你用 C# WinForm + NPOI(轻量级、无需安装 Office)实现 Excel 导入导出,代码可直接复制使用,零基础也能快速上手!
一、开发前准备
1. 开发环境
2. 引入核心库:NPOI
NPOI 是开源的 .NET Excel 操作库,支持 .xls / .xlsx 全格式,无依赖、轻量高效,是 WinForm 开发首选。
安装方式:
在 Visual Studio 中,右键项目 → 管理 NuGet 程序包 → 搜索安装:
NPOINPOI.OpenXml4NetNPOI.OpenXmlFormats
二、WinForm 界面设计
新建一个 WinForm 窗口,拖入以下控件:
- DataGridView
- Button:命名
btnImport,文本「导入 Excel」 - Button:命名
btnExport,文本「导出 Excel」
三、核心代码实现
1. Excel 导入功能(读取 Excel → 显示到 DataGridView)
功能:选择本地 Excel 文件,读取第一个工作表数据,自动填充到 DataGridView 中。
2. Excel 导出功能(DataGridView → 生成 Excel 文件)
功能:将 DataGridView 中的数据,导出为本地 Excel 文件,自动生成表头 + 数据。
- 双格式支持:同时支持 .xls(2003)和 .xlsx(2007+)
- 无 Office 依赖
- 自动列宽 + 表头加粗
- 异常处理
- 轻量高效
五、常见问题解决
- 提示 “文件正由另一进程使用”确保代码中使用
using 释放文件流,本教程代码已处理。 - 导入后数据为空检查 Excel 第一行是否为合法表头,不要合并单元格。
- 导出乱码
✨想要《C# WinForm Excel导入导出全套实战手册》完整可运行源码的同学:
加薇信:YDT2208或 后台回复关键词:【888】立即免费领取!想提升,想学习更多C#/.NET相关知识点欢迎来扫码添加【扫码或加威YDT2208】备注【888】,一定要备注!领资料 ,资料敏感,仅供个人学习!