C#小轮子:MiniExcel,快速操作Excel

news/2024/7/21 6:56:18 标签: c#, excel, 开发语言

文章目录

  • 前言
  • 环境安装
  • 功能测试
    • 普通读写
      • 新建Excel表格
      • 完全一致测试:成功
      • 大小写测试:严格大小写
      • 别名读测试:成功
      • 普通写
      • 别名写
      • 内容追加更新
      • 模板写
    • 其它功能
      • xlsx和CSV互转

前言

Excel的操作是我们最常用的操作,Excel相当于一个小型的数据库,目的是为了方便查看。
最近淘到了MiniExcel,简单来说就是特别好用
在这里插入图片描述
MiniExcel Github仓库

环境安装

  • Visual Studio 2022
  • .NET Core 6.0
  • Nuget
    • MiniExcel
    • Newtonsoft.Json(方便查看数据)

功能测试

普通读写

普通读写就是列名和实体类完全一致

新建Person测试类

    public class Person
    {

        public string Name { get;set; }

        public int Age { get; set; }

        public string Sex { get; set; }
    }

新建Excel表格

完全一致测试:成功

在这里插入图片描述

   static void Main(string[] args)
   {
       //这里填你自己的文件路径
       var res =  MiniExcel.Query<Person>("Resource\\Person.xlsx");

       Console.WriteLine(JsonConvert.SerializeObject(res,Formatting.Indented));
       Console.WriteLine("运行完毕");
       Console.ReadKey();
   }

在这里插入图片描述

大小写测试:严格大小写

在这里插入图片描述

测试了一下,大小写不通过,必须完全一致。

别名读测试:成功

      [ExcelColumnName("姓名")]
      public string Name { get;set; }

      [ExcelColumnName("年龄")]

      public int Age { get; set; }

      [ExcelColumnName("性别")]

      public string Sex { get; set; }

在这里插入图片描述

在这里插入图片描述

我懒得重新写数据了,就直接用之前的Excel数据

 var res = new List<T_Person>()
 {
     new T_Person(){
         Name = "小刘",
         Age = 2,
         Sex = "女"
     },
     new T_Person(){
         Name = "小王",
         Age = 4,
         Sex = "男"
     },
     new T_Person(){
         Name = "小陈",
         Age = 5,
         Sex = "女"
     },
 };
 Console.WriteLine(JsonConvert.SerializeObject(res,Formatting.Indented));
 MiniExcel.SaveAs("Resource\\PersonOut2.xlsx",res,true,"Sheet2");

普通写

在这里插入图片描述

别名写

在这里插入图片描述

内容追加更新

不支持CSV文件内容增加

MiniExcel.Insert("Resource\\Person2.csv", res, "Sheet2");
//不支持插入xlsx
MiniExcel.Insert("Resource\\Person2.xlsx", res, "Sheet2");

在这里插入图片描述

在这里插入图片描述
建议通过xlsx和csv互转来解决。

MiniExcel.ConvertXlsxToCsv("Resource\\Person.xlsx", "Resource\\Person.csv");

模板写

其它功能

xlsx和CSV互转

MiniExcel.ConvertXlsxToCsv("Resource\\Person.xlsx", "Resource\\Person.csv");

http://www.niftyadmin.cn/n/4948278.html

相关文章

vue实现可缩放拖拽盒子(亲测可用)

特征 没有依赖 使用可拖动&#xff0c;可调整大小或两者兼备定义用于调整大小的句柄限制大小和移动到父元素或自定义选择器将元素捕捉到自定义网格将拖动限制为垂直或水平轴保持纵横比启用触控功能使用自己的样式为句柄提供自己的样式 安装和基本用法 npm install --save vue-d…

2023河南萌新联赛第(六)场:河南理工大学

目录 A 简单的异或 题目&#xff1a; 解析&#xff1a; B 这是dp题吗 题目链接&#xff1a;https://ac.nowcoder.com/acm/contest/63602/B 解析&#xff1a; D 买饼干的小Y 题目&#xff1a;https://ac.nowcoder.com/acm/contest/63602/D 解析&#xff1a; E 不爱吃早…

根据宿主机PID获取容器运行实例

当宿主机的容器化方式部署更多的时候按照之前linux查看进程的命令基本很难获取到想要的信息&#xff0c;只能看到ps后的结果&#xff0c;长时间后我都不知道哪里出现这么多nginx的进程&#xff0c;能确定是容器部署的&#xff0c;但是不知道那些容器出现了这么多进程 1.根据相…

开源语音聊天软件Mumble

网友 大气 告诉我&#xff0c;Openblocks在国内还有个版本叫 码匠&#xff0c;更贴合国内软件开发的需求&#xff0c;如接入了国内常用的身份认证&#xff0c;接入了国内的数据库和云服务&#xff0c;也对小程序、企微 sdk 等场景做了适配。 在 https://majiang.co/docs/docke…

德赛西威半年报:竞争加剧,座舱乏力?智驾继续保持高增速

作为国内头部的智能网联核心软硬件供应商&#xff0c;德赛西威的表现&#xff0c;也在一定程度上反映了市场的行情走向&#xff0c;也凸显不同细分赛道的竞争白热化。 半年报数据显示&#xff0c;2023年1-6月&#xff0c;德赛西威实现营业收入87.24亿元&#xff0c;同比增长36.…

RAID --- 冗余磁盘阵列

RAID廉价冗余磁盘阵列 RAID0&#xff1a;条带&#xff08;striping&#xff09;提高速度&#xff0c;几块磁盘同时写入&#xff0c;同时存储&#xff0c;磁盘利用率100% RAID1&#xff1a;镜像&#xff08;mirroring&#xff09;加强可靠性&#xff0c;一份数据&#xff0c;两…

JavaSE-17 【异常】

第一章 什么是异常 1.1 异常的概念 异常&#xff1a;指的是程序在执行过程中&#xff0c;出现的非正常的情况&#xff0c;最终会导致JVM的非正常停止 在Java中&#xff0c;异常本身就是一个类&#xff0c;产生异常就是创建一个异常对象并且抛出一个异常对象的过程 Java处理…

ChatGPT成为工作工具,具体都应用在哪些地方?

Verified Market Research估计&#xff0c;到2030年&#xff0c;人工智能写作辅助软件市场将达到约65亿美元&#xff0c;复合年增长率为27%。生成式人工智能的浪潮正在席卷世界各地的营销部门。 Botco对美国1000名工作人员进行的调查发现&#xff0c;73%的人表示他们会利用生成…