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

2023-10-13 05:20

本文主要是介绍C#小轮子:MiniExcel,快速操作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");

这篇关于C#小轮子:MiniExcel,快速操作Excel的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/201035

相关文章

使用Redis快速实现共享Session登录的详细步骤

《使用Redis快速实现共享Session登录的详细步骤》在Web开发中,Session通常用于存储用户的会话信息,允许用户在多个页面之间保持登录状态,Redis是一个开源的高性能键值数据库,广泛用于... 目录前言实现原理:步骤:使用Redis实现共享Session登录1. 引入Redis依赖2. 配置R

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

C#中lock关键字的使用小结

《C#中lock关键字的使用小结》在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时,其他线程无法访问同一实例的该代码块,下面就来介绍一下lock关键字的使用... 目录使用方式工作原理注意事项示例代码为什么不能lock值类型在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时

MySQL 强制使用特定索引的操作

《MySQL强制使用特定索引的操作》MySQL可通过FORCEINDEX、USEINDEX等语法强制查询使用特定索引,但优化器可能不采纳,需结合EXPLAIN分析执行计划,避免性能下降,注意版本差异... 目录1. 使用FORCE INDEX语法2. 使用USE INDEX语法3. 使用IGNORE IND

C# $字符串插值的使用

《C#$字符串插值的使用》本文介绍了C#中的字符串插值功能,详细介绍了使用$符号的实现方式,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录$ 字符使用方式创建内插字符串包含不同的数据类型控制内插表达式的格式控制内插表达式的对齐方式内插表达式中使用转义序列内插表达式中使用

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +