C#使用MiniExcel导入导出数据到Excel/CSV文件

这篇具有很好参考价值的文章主要介绍了C#使用MiniExcel导入导出数据到Excel/CSV文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MiniExcel简介

简单、高效避免OOM的.NET处理Excel查、写、填充数据工具。

目前主流框架大多需要将数据全载入到内存方便操作,但这会导致内存消耗问题,MiniExcel 尝试以 Stream 角度写底层算法逻辑,能让原本1000多MB占用降低到几MB,避免内存不够情况。

特点:

  • 低内存耗用,避免OOM、频繁 Full GC 情况
  • 支持即时操作每行数据
  • 兼具搭配 LINQ 延迟查询特性,能办到低消耗、快速分页等复杂查询
  • 轻量,不需要安装 Microsoft Office、COM+,DLL小于150KB
  • 简便操作的 API 风格

项目地址:mini-software/MiniExcel: Fast, Low-Memory, Easy Excel .NET helper to import/export/template spreadsheet (support Linux, Mac) (github.com)

安装 MiniExcel

导出数据

 public class Student
  {
      public string? Name { get; set; }
      public string? Home { get; set; }
      public int? Age {  get; set; }   
  }

 //获得当前目录的路径
 string currentDirectory = Directory.GetCurrentDirectory();

 //合并当前目录与Excel文件名
 var path = Path.Combine(currentDirectory, $"{Guid.NewGuid()}.xlsx");
 
  List<Student> studentList = new List<Student>()
  {
      new Student { Name = "小东", Home = "New York", Age = 25 },
      new Student { Name = "小西", Home = "London", Age = 22 },
      new Student { Name = "小南", Home = "Paris", Age = 28 },
      new Student { Name = "小北", Home = "Tokyo", Age = 24 },
      new Student { Name = "小王", Home = "Berlin", Age = 26 }
 };

MiniExcel.SaveAs(path, studentList);

导入Excel中如下图所示:

但是目前还不支持Excel的插入:

因此如果遇到不仅仅只是生成Excel,后续还要向Excel添加数据的需求,可以用csv代替:

 //获得当前目录的路径
 string currentDirectory = Directory.GetCurrentDirectory();

 //合并当前目录与CSV文件名
 var path = Path.Combine(currentDirectory, $"{Guid.NewGuid()}.csv");

 List<Student> studentList = new List<Student>()
  {
      new Student { Name = "小东", Home = "New York", Age = 25 },
      new Student { Name = "小西", Home = "London", Age = 22 },
      new Student { Name = "小南", Home = "Paris", Age = 28 },
      new Student { Name = "小北", Home = "Tokyo", Age = 24 },
      new Student { Name = "小王", Home = "Berlin", Age = 26 }
 };

 MiniExcel.SaveAs(path, studentList);

生成的CSV文件如下图所示:

向CSV文件继续添加数据:

  //获得当前目录的路径
  string currentDirectory = Directory.GetCurrentDirectory();

  //合并当前目录与Excel文件名
  //var path = Path.Combine(currentDirectory, $"{Guid.NewGuid()}.csv");
  var path = Path.Combine(currentDirectory, "10de09bb-ad8c-4430-b717-5f24117a11a6.csv");

  List<Student> studentList = new List<Student>()
   {
       new Student { Name = "小东", Home = "New York", Age = 25 },
       new Student { Name = "小西", Home = "London", Age = 22 },
       new Student { Name = "小南", Home = "Paris", Age = 28 },
       new Student { Name = "小北", Home = "Tokyo", Age = 24 },
       new Student { Name = "小王", Home = "Berlin", Age = 26 }
  };

  //MiniExcel.SaveAs(path, studentList);
  MiniExcel.Insert(path, studentList);

继续添加数据后的CSV文件如下图所示:

导入数据

 var path = "你的文件路径";
 var rows = MiniExcel.Query<Student>(path);

实现效果如下所示:文章来源地址https://www.toymoban.com/news/detail-825476.html

到了这里,关于C#使用MiniExcel导入导出数据到Excel/CSV文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PL/SQL 中的数据导入和导出:CSV 文件格式详解

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 在 PL/SQL 开发中,数据的导入和导出是常见的操作。本文将深入探讨如何使用 PL/SQL 导入和导出 CSV 文件格式的数据

    2024年02月12日
    浏览(35)
  • DBeaver使用——excel、csv数据导入中文乱码问题

    Navicat不让用了,就选择了平替DBeaver~ 1. DBeaver不支持直接导入excel文件,可以先将excel文件转为csv格式。设置编码为“GB2312”(一般为默认)。(注:设置成其它格式也可,注意后面需要将DBeaver中的编码格式设置成和csv中的一致。)   2. 右键“表”,选择导入数据。   3. 设置

    2024年02月10日
    浏览(31)
  • hive 导入导出csv文件

    1、导入 将CSV文件导入到hive数据库,具体操作如下, 首先在hive中创建自己的table, 并且设置以逗号分隔。 然后 确定tmp.hb_label_C表的分布式文件路径 最后在linux命令行输入 查看结果 2、导出 使用beeline重定向 同时使用以下方式导出数据带表头

    2024年02月16日
    浏览(32)
  • C# DataGridView数据导出Excel文件

    博主在做项目的时候需要把数据库的数据用DataGridView展示,然后把展示的数据导出为Excel文件,很多时候我们做项目都会有一个下载文件的按钮,我们需要用微软的的接口,Microsoft.Office.Interop.Excel,我们需要导入这个引用对DataGridView数据进行处理,利用Microsoft.Office.Interop.Exc

    2024年02月04日
    浏览(91)
  • C# 导出EXCEL 和 导入

    2024年01月16日
    浏览(27)
  • 使用POI和EasyExcel来实现excel文件的导入导出

    废话不多说咱们直接上干货!!!! 一.读取Excel表格 【1】使用POI读取excel表格中的数据 POI还可以操作我们这个word文档等等,他不仅仅只能弄Excel,而JXI只能操作excel 1.POI的结构,我们可以更具文件的类去选择 相关的对象我当前是使用的XLSX来操作的 HSSF - 提供读写Microsoft

    2024年02月05日
    浏览(39)
  • c# 将数据导出到EXCEL文件(一)

           本文讲的是引用微软的office com组件,将数据导出到excel文件。因此使用前提是:电脑上已经安装可以使用的微软的office软件。 第一步:项目中加入微软的office的com组件引用。 在鼠标右击项目,点击【添加】弹出菜单列表,选择【项目引用】 弹出【引用管理器】对话

    2023年04月09日
    浏览(35)
  • poi实现excel文件导入导出(基本数据导出、含格式导出、含批注导出、含图片图表导出)——springboot

    本文主要是介绍springboot + poi实现基本的excel文件导入导出,包含数据导出导入时数据的其他需求校验,导出含有批注信息、导出含有图片信息、导出含有图表信息等的介绍等等,主要是一个demo尽可能简单明了的来介绍相关功能即可。有什么问题可以在留言哦!并在文章末尾附

    2024年02月08日
    浏览(65)
  • pl/sql导入、导出csv等格式文件

    pl/sql导入、导出csv等格式文件 PL/SQL Developer 可以导入或者导出CSV文件。 导入CSV文件步骤: 1、选择tools-text importer… 2、选择第二个Data to oracle选项卡,然后选择Open Data file…,选择要导入的csv文件,确定 2.1添加列 2.2这里以 逗号分割, 3、选择对应的owner和table,将字段一一对应

    2024年04月10日
    浏览(32)
  • C#小轮子:MiniExcel,快速操作Excel

    Excel的操作是我们最常用的操作,Excel相当于一个小型的数据库,目的是为了方便查看。 最近淘到了MiniExcel,简单来说就是特别好用 MiniExcel Github仓库 Visual Studio 2022 .NET Core 6.0 Nuget MiniExcel Newtonsoft.Json(方便查看数据) 普通读写就是列名和实体类完全一致 读 新建Person测试类 新建

    2024年02月12日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包