当前位置: 首页 > news >正文

c# 使用NPOI将datatable的数据导出到excel

以下是使用 NPOI 库 将 DataTable 数据导出到 Excel 的详细步骤和代码示例(支持 .xls 和 .xlsx 格式):


步骤 1:安装 NPOI NuGet 包

Install-Package NPOI
Install-Package NPOI.OOXML  # 若需导出 .xlsx 格式

步骤 2:完整代码实现

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;  // 支持 .xlsx 格式
using NPOI.HSSF.UserModel;   // 支持 .xls 格式
using System.Data;
using System.IO;

public class ExcelExporterNpoi
{
    /// <summary>
    /// 将 DataTable 导出到 Excel 文件
    /// </summary>
    /// <param name="dataTable">数据源</param>
    /// <param name="filePath">文件路径(如:C:\data.xlsx)</param>
    /// <param name="sheetName">工作表名称(默认 Sheet1)</param>
    public static void ExportToExcel(DataTable dataTable, string filePath, string sheetName = "Sheet1")
    {
        if (dataTable == null || dataTable.Rows.Count == 0)
            throw new ArgumentException("DataTable 不能为空");

        // 根据文件扩展名选择 Workbook 类型
        IWorkbook workbook;
        if (filePath.EndsWith(".xlsx"))
            workbook = new XSSFWorkbook();
        else if (filePath.EndsWith(".xls"))
            workbook = new HSSFWorkbook();
        else
            throw new ArgumentException("不支持的文件格式,仅支持 .xls 或 .xlsx");

        // 创建 Sheet 和表头样式
 
http://www.dtcms.com/a/124227.html

相关文章:

  • OSPF不规则区域和LSA
  • 【Java学习】AI时代下如何学习Java语言开发
  • 【算法学习计划】回溯 -- 记忆化搜索
  • StringTemplate修仙指南:字符串处理的“言出法随“大法
  • 智能物联网网关策略部署
  • vue3+vite+js项目引入electron构建跨平台桌面应用
  • Excel 自动执行全局宏
  • 项目进度延误的十大原因及应对方案
  • 4-10记录(
  • 聊天室项目Day3之服务器的http的get和post回复实现
  • 软件信息安全性测试如何进行?有哪些注意事项?
  • 神经网络入门—自定义神经网络续集
  • 2. 单词个数统计
  • WPS JS宏编程教程(从基础到进阶)-- 第六部分:JS集合与映射在 WPS 的应用
  • 关于使用@Slf4j后引入log,idea标红解决办法
  • Linux | I.MX6ULL外设功能验证(11)
  • FreeRTOS项目工程完善指南:STM32F103C8T6系列
  • 【结合vue源码,分析vue2及vue3的数据绑定实现原理】
  • 【力扣hot100题】(083)零钱兑换
  • Redis 持久化机制详解:RDB/AOF 过程、优缺点及配置。Redis持久化中的Fork与Copy-on-Write技术解析。
  • android studio 2022打开了v1 签名但是生成的apk没有v1签名问题
  • C# 组件的使用方法
  • Python proteinflow 库介绍
  • Java中List方法的使用详解
  • ​​大数据量统计优化方案(日/月/年统计场景)​
  • WORD 中批量将植物拉丁名替换为斜体
  • 淘酒屋(香港)控股助力汾阳白酒国际化:开启中国酒业新征程
  • wsl-docker环境下启动ES报错vm.max_map_count [65530] is too low
  • Easy-Trans 极简数据翻译框架深度实战指南
  • 数据中台、BI业务访谈(二):组织架构梳理的坑