自学内容网 自学内容网

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了,新年快乐啊,谢谢,记得点赞哦!


原文地址:https://blog.csdn.net/m0_74772114/article/details/145138702

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!