C# DataTable 生成Excel 和 CSV文件

2023-12-19

EXCEL

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System.Data;
using System.IO;

public class ExcelService
{
    public string GenerateExcelFileAndReturnPath(DataTable dataTable)
    {
        IWorkbook workbook = new XSSFWorkbook();
        ISheet sheet = workbook.CreateSheet("Sheet1");

        // 写入列名
        IRow headerRow = sheet.CreateRow(0);
        foreach (DataColumn column in dataTable.Columns)
        {
            headerRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
        }

        // 写入数据
        int rowIndex = 1;
        foreach (DataRow row in dataTable.Rows)
        {
            IRow dataRow = sheet.CreateRow(rowIndex);
            foreach (DataColumn column in dataTable.Columns)
            {
                dataRow.CreateCell(column.Ordinal).SetCellValue(row[column].ToString());
            }
            rowIndex++;
        }

        // 保存到服务器指定路径
        string filePath = "path/to/save/file.xlsx";
        using (FileStream fileStream = new FileStream(filePath, FileMode.Create))
        {
            workbook.Write(fileStream);
        }

        return filePath; // 返回文件路径
    }
}

生成CSV文件

using System.Data;
using System.IO;
using System.Text;

public class CsvService
{
    public string GenerateCsvFileAndReturnPath(DataTable dataTable)
    {
        StringBuilder sb = new StringBuilder();

        // 写入列名
        foreach (DataColumn column in dataTable.Columns)
        {
            sb.Append(column.ColumnName + ",");
        }
        sb.AppendLine();

        // 写入数据
        foreach (DataRow row in dataTable.Rows)
        {
            foreach (DataColumn column in dataTable.Columns)
            {
                sb.Append(row[column].ToString() + ",");
            }
            sb.AppendLine();
        }

        // 保存到服务器指定路径
        string filePath = "path/to/save/file.csv";
        File.WriteAllText(filePath, sb.ToString());

        return filePath; // 返回文件路径
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# DataTable 生成Excel 和 CSV文件 的相关文章

随机推荐

  • 免费有意思的好用API推荐

    周公解梦 周公解梦大全 周公解梦查询 免费周公解梦 星座查询 根据日期或星座名称 查询星座详细信息 包含 掌管宫位 主管星 颜色 珠宝 幸运数字 性格等等 生肖查询 根据生肖名称 查询生肖详细信息 包含 五行分析 本命佛 生辰 吉祥颜色 幸
  • Vue的组件化

    组件化步骤 1 创建Vue组件 const school Vue extend template div h2 学校名称 schoolName h2 h2 学校地址 schoolAddress h2 div data return scho
  • torch.rand()和torch.randn()的区别

    torch rand 和 torch randn 是 PyTorch 中用于生成张量的两个函数 它们之间的主要区别在于生成张量元素的方式不同 1 torch rand torch rand 用于生成元素值在 0 1 之间均匀分布的随机张量
  • uniapp初级入门-flex布局学习11-骰子多点演示

    代码
  • python pdf转图片

    import fitz def pdf2img pdf path img dir doc fitz open pdf path 打开pdf for page in doc 遍历pdf的每一页 zoom x 2 0 设置每页的水平缩放因子 z
  • Android的组件、布局学习

    介绍 公司组织架构调整 项目组需要承接其他项目组的android项目 负责维护和开发新需求 故学习下基础语法和项目开发 组件学习 Toolbar header布局部分 就是app最顶部的部分 他的显示与否 是与F androidProjec
  • 使用AI大模型增强图像清晰度

    在线体验 点击 图像处理 即可使用 public static final String IMAGE DEFINITION ENHANCE https aip baidubce com rest 2 0 image process v1 i
  • C++基础-一维和二维数组详解

    目录 定义 一维数组 二维数组 定义 数组是相同类型的对象序列 它们占据一块连续的内存区 一维数组
  • 《计算机是怎样跑起来的》读书笔记

    目录 1 计算机组成 1 CPU Central Processing Unit 中央处理器 2 硬盘 Hard Disk Drive 3 内存 Memory 4 输入与输出设备 I 0设备
  • 讲解selenium 获取href find_element_by_xpath

    目录 讲解selenium获取href find element by xpath 什么是XPath 使用find element by xpath获取href Selenium的特点和优势 Selenium的应用场景 Selenium的核
  • HWSD中国土壤数据库

    数据名称 HWSD中国土壤数据库 数据时间 2009年 数据格式 Shp和Tiff 数据坐标系 WGS1984和krasovsky 1940 Albers 数据介绍 数据来源于联合国粮农组织 FAO 和维也纳国际应用系统研究所 IIASA
  • 如何在出厂重置后从 Android 恢复丢失的数据、照片、联系人

    什么是恢复出厂设置 恢复出厂设置是将电子设备恢复到制造商在工厂设置的原始状态 也称为主重置或硬重置 恢复出厂设置有什么作用 这样做将删除用户在设备上添加的所有数据 设置和应用程序 当手机需要出售 需要擦除个人数据或者遇到设备故障 病毒攻击
  • 黑豹程序员-自定义表单实现门户自定制

    功能 用户可以实现欢迎页面自己定制 数据由数据库表进行维护 原理 页面利用div进行布局 拖动div记录其坐标 并写库 页面加载时从数据库表中读取div坐标和数据即可 效果图
  • 第三方软件验收测评在项目验收中的重要性

    CMA CNAS第三方检测报告 软件从最简单的家用电冰箱到工业生产 涉及方方面面 以前软件中的问题只是个人重启一下机器的小事情 但如今软件已在大型工业中发挥越来越大的作用 软件安全与质量的隐患已可能对人身安全和环境造成威胁 软件工程 的总目
  • 【Redis】Redis 配置文件

    1 概述 相同文件 Redis redis 配置 配置文件 redis conf 自定义目录 myredis redis conf 4 1 Units单位 配置大小单位 开头定义了一些基本的度量单位 只支持bytes 不支持bit 大小写不
  • 基于微信小程序的宠物商城系统设计与实现

    博主介绍 全网粉丝10W CSDN全栈领域优质创作者 博客之星 掘金 华为云 阿里云等平台优质作者 精彩专栏 推荐订阅 计算机毕设精品项目案例 持续更新 文末获取源码 数据库 文档 感兴趣的可以先收藏起来 还有大家在毕设选题 项目以及论文编
  • 【zoedepth】代码阅读与踩坑

    训练 真正训练代码 zoedepth trainers base trainer py 181 每个batch zoedepth trainers zoedepth trainer Trainer train on batch losses
  • AI制文技术:打开创作新天地

    第一印象 人工智能妙不可言 首次尝试使用AI创作文章 我深深感受到其高效与精准 您仅需提供一个富有吸引力的话题 AI便能轻松构思出一个引人入胜的标题 进一步地 电脑能依据您的主题自动生成详细且具有逻辑性的文本内容 无论是在文字数量还是结构框
  • 如何在 Windows 电脑的SSD硬盘恢复数据

    当人们想要更换硬盘时 他们通常会从 HDD 硬盘驱动器 切换到 SSD 固态硬盘 这是因为 SSD 被认为比 HDD 更好并且速度更快 但这并不意味着您不会丢失 SSD 设备中的文件 当 SSD 丢失文件时 恢复过程与 HDD 相同 但是
  • C# DataTable 生成Excel 和 CSV文件

    EXCEL using NPOI SS UserModel using NPOI XSSF UserModel using System Data using System IO public class ExcelService publ