当前位置: 首页 > article >正文

csv. tsv文件的导入 导出功能总结C#

文件导入发生的问题

1.文件格式的指定

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
在.NET中,Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); 这行代码的作用是注册一个编码提供者,使得应用程序能够支持更多的字符编码。具体来说,CodePagesEncodingProvider 是一个实现了 EncodingProvider 接口的类,它提供了对额外字符编码页的支持,这些编码页可能不在默认的 .NET 编码集合中。

 new StreamReader(stream, Encoding.GetEncoding("shift-jis"));

在.NET中,new StreamReader(stream, Encoding.GetEncoding("shift-jis")); 这行代码创建了一个 StreamReader 对象,用于从指定的 stream 中读取数据,并且指定了使用 Shift-JIS 编码来解码这些数据。

2.数据的处理的检查

做循环利用TryParseRow判断是否正确,每一行的解析是否正确,和设计要求是否字段一致

排序问题一定看清晰

3.传值问题と赋值问题

tsv里的newList还是list要根据要求做处理

list.Update(a,b,c,d)

 newList.Select(c => c.Code).ToList();

查询的肯定是有值的,不用再判断是否为空

 var values = line.Split('\t');行处理
 var Date = values[2];索引一定要检查仔细

4.返回值想retrun 必须task<bool>
必须规定有返回值,别viod,因为是bool,所以return必须有false true

本人经验不多实际做的时候有时想不通。。。。

5.错误处理

按要求的设计书,逻辑一定要清晰,处理的是文件错误一定要throw明确

6.调用问题

a->b

b->c/d/e/f

f->g/h/i/j

层次一定要明确

文件导出发生的问题

1.既然导出肯定是有数据的,先查询数据的来源数据库

导出的位置文件夹的名字,根据要求返回时所需的时间,名称都要明白

2.每行数据转换的要求,数据库导出来是什么格式,导出的路径设置

3. 由于我导出的是一个游戏applist
var list = new List<appInfo>();
 list.AddRange(wzList);王者list

 list.AddRange(hpjyList);爱与和平list

所以数据出来,值是否符合设计要求,导出的内容检查一遍

public sealed class appInfo
{
    /// <summary>
    /// 妲己
    /// </summary>
    [TsvExport(1, "妲己")]

   public required string daJi{ get; set; }

    /// <summary>
    /// 典韦
    /// </summary>
    [TsvExport(1, "典韦")]

   public required string dianWei{ get; set; }

}

[TsvExport(1, "")]这个一定要有,你对应数据库的字段或根据要求写

最后就是这个appInfo.cs的位置,一定是你调用的位置文件夹那里

由于隐私问题没有什么可分享的代码,但是你做完了再看这篇文章也是你当时纠结的。。。。。

4.做程序员沟通问题也非常重要!!!谢谢同事EA帮助我这么多

注意点就这么多,不知不觉2025了,新年快乐啊,谢谢,记得点赞哦!


http://www.kler.cn/a/503844.html

相关文章:

  • Spring Boot教程之五十六:用 Apache Kafka 消费 JSON 消息
  • HTTP详解——HTTP基础
  • 【Rust】错误处理机制
  • linux进程
  • 滚动字幕视频怎么制作
  • vue 中的 v-model
  • 深度剖析 GROUP BY 和 HAVING 子句:优化 SQL 查询的利器
  • 获取按图搜索淘宝商品(拍立淘)API接口用Java示例解释说明
  • YOLOv5训练长方形图像详解
  • matlab实现了一个优化的遗传算法,用于求解注汽站最优位置的问题
  • # CentOS7 系统 /dev/mapper/centos-root满了,十步清理
  • 像JSONDecodeError: Extra data: line 2 column 1 (char 134)这样的问题怎么解决
  • 【C++】PP5015 [NOIP2018 普及组] 标题统计
  • 互斥与同步
  • 迅为RK3568开发板篇OpenHarmony配置HDF驱动控制LED-配置创建私有配置文件
  • Vue.js 组件的基本结构:模板、脚本和样式
  • Vue3组件设计模式:高可复用性组件开发实战
  • python+django+elasticsearch实现自动化部署平台构建日志记录(前端vue-element展示)
  • maven 下载依赖 jhash:2.1.2 和对应 jar 包
  • 基于Java的愤怒的小鸟游戏的设计与实现【源码+文档+部署讲解】
  • CSS | CSS实现两栏布局(左边定宽 右边自适应,左右成比自适应)
  • 支持Google Analytics快捷添加的CMS:费用与部署形式详解
  • 数据结构—《二叉树的定义与特性》
  • 软件设计模式的原则
  • pg_hba.conf是PostgreSQL中控制客户端认证和访问权限的配置文件
  • C# 将 List 转换为只读的 List