广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >ASP.NET开源导入导出库Magicodes.IE完成Csv导入导出的方法
  • 117
分享到

ASP.NET开源导入导出库Magicodes.IE完成Csv导入导出的方法

netASP.NET方法csvieASP 2022-06-07 21:06:40 117人浏览 泡泡鱼
摘要

说明 本章主要说明如何使用Magicodes.IE.Csv进行Csv导入导出. 关于Magicodes.IE 导入导出通用库,通过导入导出DTO模型来控制导入和导出,支持e

说明

本章主要说明如何使用Magicodes.IE.Csv进行Csv导入导出.

关于Magicodes.IE

导入导出通用库,通过导入导出DTO模型来控制导入和导出,支持excelWordpdfhtml

GitHub地址:https://github.com/xin-lai/Magicodes.IE

主要步骤

1.安装包Magicodes.IE.Csv


Install-Package Magicodes.IE.Csv

2.使用Magicodes.IE.Csv导出Csv

通过如下代码片段我们将导出的内容通过相应的特性做出相应的处理.

ExporterHeaderAttribute

DisplayName: 显示名称 FORMat: 格式化 IsIgnore: 是否忽略

  public class ExportTestDataWithAttrs
  {
    [ExporterHeader(DisplayName = "文本")]
    public string Text { get; set; }
    [ExporterHeader(DisplayName = "普通文本")] public string Text2 { get; set; }
    [ExporterHeader(DisplayName = "忽略", IsIgnore = true)]
    public string Text3 { get; set; }
    [ExporterHeader(DisplayName = "数值", Format = "#,##0")]
    public decimal Number { get; set; }
    [ExporterHeader(DisplayName = "名称", IsAutoFit = true)]
    public string Name { get; set; }
    /// <summary>
    /// 时间测试
    /// </summary>
    [ExporterHeader(DisplayName = "日期1", Format = "yyyy-MM-dd")]
    public DateTime Time1 { get; set; }
    /// <summary>
    /// 时间测试
    /// </summary>
    [ExporterHeader(DisplayName = "日期2", Format = "yyyy-MM-dd HH:mm:ss")]
    public DateTime? Time2 { get; set; }
    public DateTime Time3 { get; set; }
    public DateTime Time4 { get; set; }
    /// <summary>
    /// 长数值测试
    /// </summary>
    [ExporterHeader(DisplayName = "长数值", Format = "#,##0")]
    public long LongNo { get; set; }
  }

通过DTO导出


    public async Task ExportHeaderAsByteArray_Test()
    {
      IExporter exporter = new CsvExporter();
      var filePath = GetTestFilePath($"{nameof(ExportHeaderAsByteArray_Test)}.csv");
      DeleteFile(filePath);
      var result = await exporter.ExportHeaderAsByteArray(GenFu.GenFu.New<ExportTestDataWithAttrs>());
    }

3.使用Magicodes.IE.Csv导入Csv

对于csv导入我们可以通过,ImporterHeader Name属性去对应我们的Dto属性.并且可以通过ValueMapping对枚举类型进行相关的映射,并向我们返回相对应的值


    public async Task StudentInfoImporter_Test()
    {
      var filePath = Path.Combine(Directory.GetCurrentDirectory(), "TestFiles", "Import", "学生基础数据导入.csv");
      var import = await Importer.Import<ImportStudentDto>(filePath);
    }
 /// <summary>
  /// 导入学生数据Dto
  /// </summary>
  public class ImportStudentDto
  {
    /// <summary>
    ///   序号
    /// </summary>
    [ImporterHeader(Name = "序号")]
    public long SerialNumber { get; set; }
    /// <summary>
    ///   学籍号
    /// </summary>
    [ImporterHeader(Name = "学籍号")]
    public string StudentCode { get; set; }
    /// <summary>
    ///   姓名
    /// </summary>
    [ImporterHeader(Name = "姓名")]
    public string Name { get; set; }
    /// <summary>
    ///   身份证号码
    /// </summary>
    [ImporterHeader(Name = "身份证号")]
    public string IdCard { get; set; }
    /// <summary>
    ///   性别
    /// </summary>
    [ImporterHeader(Name = "性别")]
    [ValueMapping("男", 0)]
    [ValueMapping("女", 1)]
    public Genders Gender { get; set; }
    /// <summary>
    ///   家庭地址
    /// </summary>
    [ImporterHeader(Name = "家庭住址")]
    public string Address { get; set; }
    /// <summary>
    ///   家长姓名
    /// </summary>
    [ImporterHeader(Name = "家长姓名")]
    public string Guardian { get; set; }
    /// <summary>
    ///   家长联系电话
    /// </summary>
    [ImporterHeader(Name = "家长联系电话")]
    public string GuardianPhone { get; set; }
    /// <summary>
    ///   学号
    /// </summary>
    [ImporterHeader(Name = "学号")]
    public string StudentNub { get; set; }
    /// <summary>
    ///   宿舍号
    /// </summary>
    [ImporterHeader(Name = "宿舍号")]
    public string DormitoryNo { get; set; }
    /// <summary>
    ///   QQ
    /// </summary>
    [ImporterHeader(Name = "QQ号")]
    public string QQ { get; set; }
    /// <summary>
    ///   民族
    /// </summary>
    [ImporterHeader(Name = "民族")]
    public string Nation { get; set; }
    /// <summary>
    ///   户口性质
    /// </summary>
    [ImporterHeader(Name = "户口性质")]
    public string HouseholdType { get; set; }
    /// <summary>
    ///   联系电话
    /// </summary>
    [ImporterHeader(Name = "学生联系电话")]
    public string Phone { get; set; }
    /// <summary>
    ///   状态
    ///   测试可为空的枚举类型
    /// </summary>
    [ImporterHeader(Name = "状态")] 
    public StudentStatus? Status { get; set; }
    /// <summary>
    ///   备注
    /// </summary>
    [ImporterHeader(Name = "备注")]
    public string Remark { get; set; }
    /// <summary>
    ///   是否住校(宿舍)
    /// </summary>
    [ImporterHeader(IsIgnore = true)]
    public bool? IsBoarding { get; set; }
    /// <summary>
    ///   所属班级id
    /// </summary>
    [ImporterHeader(IsIgnore = true)]
    public Guid ClassId { get; set; }
    /// <summary>
    ///   学校Id
    /// </summary>
    [ImporterHeader(IsIgnore = true)]
    public Guid? SchoolId { get; set; }
    /// <summary>
    ///   校区Id
    /// </summary>
    [ImporterHeader(IsIgnore = true)]
    public Guid? CampusId { get; set; }
    /// <summary>
    ///   专业Id
    /// </summary>
    [ImporterHeader(IsIgnore = true)]
    public Guid? MajorsId { get; set; }
    /// <summary>
    ///   年级Id
    /// </summary>
    [ImporterHeader(IsIgnore = true)]
    public Guid? GradeId { get; set; }
  }

Reference

Https://github.com/dotnetcore/Magicodes.IE

到此这篇关于asp.net开源导入导出库Magicodes.IE完成Csv导入导出的方法的文章就介绍到这了,更多相关ASP.net Csv导入导出内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文章:Asp.net导出Excel/Csv文本格式数据的方法asp.net+js 实现无刷新上传解析csv文件的代码asp.net 导出到CSV文件乱码的问题


--结束END--

本文标题: ASP.NET开源导入导出库Magicodes.IE完成Csv导入导出的方法

本文链接: https://www.lsjlt.com/news/30769.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ASP.NET开源导入导出库Magicodes.IE完成Csv导入导出的方法
    说明 本章主要说明如何使用Magicodes.IE.Csv进行Csv导入导出. 关于Magicodes.IE 导入导出通用库,通过导入导出DTO模型来控制导入和导出,支持E...
    99+
    2022-06-07
    net ASP.NET 方法 csv ie ASP
  • 导入和导出MYSQL数据库的方法
    本文主要给大家简单讲讲导入和导出MYSQL数据库的方法,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望导入和导出MYSQL数据库的方法这篇文章可以给大家带来一...
    99+
    2022-10-18
  • PostgreSQL数据库导入和导出的方法
    今天小编给大家分享一下PostgreSQL数据库导入和导出的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Postgre...
    99+
    2023-06-27
  • Docker镜像导入导出的方法
    本篇内容主要讲解“Docker镜像导入导出的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker镜像导入导出的方法”吧!docker save说明:将指定镜像保存成 tar 归档文件,...
    99+
    2023-06-29
  • mysql数据库导入导出的用法
    这篇文章主要讲解了“mysql数据库导入导出的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql数据库导入导出的用法”吧!mysql 数据库导入导...
    99+
    2022-10-18
  • MySQL数据库导入导出数据的方法
    这篇文章主要介绍“MySQL数据库导入导出数据的方法”,在日常操作中,相信很多人在MySQL数据库导入导出数据的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL数...
    99+
    2022-10-18
  • MySQL和MongoDB的导入和导出方法
    这篇文章主要讲解了“MySQL和MongoDB的导入和导出方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL和MongoDB的导入和导出方法”吧!...
    99+
    2022-10-18
  • Springboot实现导入导出Excel的方法
    目录一、添加poi的maven依赖二、自定义注解(Excel属性标题、位置等)三、CustomExcelUtils编写四、定义导出实体类五、Controller层代码编写一、添加po...
    99+
    2022-11-12
  • Mysql 导入导出csv 中文乱码问题的解决方法
    导入csv:复制代码 代码如下:load data infile '/test.csv' into table table_name fields terminated by ','...
    99+
    2022-11-15
    Mysql csv 中文乱码
  • AWR跨库导出与导入的方法是什么
    这篇文章主要讲解了“AWR跨库导出与导入的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“AWR跨库导出与导入的方法是什么”吧!(1)导出SYS@h...
    99+
    2022-10-18
  • Mysql导出导入数据的方法介绍
    这篇文章主要介绍“Mysql导出导入数据的方法介绍”,在日常操作中,相信很多人在Mysql导出导入数据的方法介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql导出导...
    99+
    2022-10-18
  • MySQL表数据的导入与导出方法
    本篇内容介绍了“MySQL表数据的导入与导出方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! LOAD...
    99+
    2022-10-18
  • JavaScript ES6模块导入和导出的方法
    目录前言:1.默认导入导出2.按需导入导出第一种情况,age is not defined第二种情况,sex is not defined 3.默认导出和整体导出一起使用总...
    99+
    2022-11-13
  • docker镜像导入导出的两种方法
    目录一、使用 export 和 import1,查看本机的容器2,导出镜像3,导入镜像二、使用 save 和 load1,查看本机的容器2,保存镜像3,载入镜像附:两种方案的差别1,...
    99+
    2023-03-02
    docker镜像导入导出 Docker 导入导出镜像
  • sql数据库表导入导出的方法是什么
    SQL数据库表导入导出的方法有多种,常用的方法有以下几种:1. 使用SQL命令行工具导入导出:可以使用命令行工具如MySQL的`my...
    99+
    2023-10-08
    sql数据库
  • docker镜像导入导出的方法有哪些
    今天小编给大家分享一下docker镜像导入导出的方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、使用 expor...
    99+
    2023-07-05
  • Docker镜像与容器的导入导出方法
    这篇文章主要介绍“Docker镜像与容器的导入导出方法”,在日常操作中,相信很多人在Docker镜像与容器的导入导出方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker镜像与容器的导入导出方法”的疑...
    99+
    2023-06-29
  • Javascript模块导入导出的方法是什么
    这篇“Javascript模块导入导出的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Javascript模块导入...
    99+
    2023-07-04
  • Mysql数据库的导入导出方式有哪些
    本文小编为大家详细介绍“Mysql数据库的导入导出方式有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Mysql数据库的导入导出方式有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。情况一本地导出,远程导...
    99+
    2023-07-05
  • MySQL中数据导入和导出的方法详解
    MySQL中数据导入和导出的方法详解导入和导出数据是数据库管理中常用的操作,在MySQL中也有多种方法可以实现。本文将详细介绍几种常见的方法,并提供相应的代码示例。一、导出数据使用SELECT ... INTO OUTFILE...
    99+
    2023-10-22
    数据库 (Database) 导入 (Import) 导出 (Export)
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作