Magicodes.IE Csv导入导出
說明
本章主要說明如何使用Magicodes.IE.Csv進(jìn)行Csv導(dǎo)入導(dǎo)出.
主要步驟
1.安裝包Magicodes.IE.Csv
Install-Package Magicodes.IE.Csv2.使用Magicodes.IE.Csv導(dǎo)出Csv
通過如下代碼片段我們將導(dǎo)出的內(nèi)容通過相應(yīng)的特性做出相應(yīng)的處理.
ExporterHeaderAttribute
DisplayName:顯示名稱
Format:格式化
IsIgnore:是否忽略
通過DTO導(dǎo)出
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導(dǎo)入Csv
對于csv導(dǎo)入我們可以通過,ImporterHeader Name屬性去對應(yīng)我們的Dto屬性.并且可以通過ValueMapping對枚舉類型進(jìn)行相關(guān)的映射,并向我們返回相對應(yīng)的值
public async Task StudentInfoImporter_Test(){var filePath = Path.Combine(Directory.GetCurrentDirectory(), "TestFiles", "Import", "學(xué)生基礎(chǔ)數(shù)據(jù)導(dǎo)入.csv");var import = await Importer.Import<ImportStudentDto>(filePath);} /// <summary>/// 導(dǎo)入學(xué)生數(shù)據(jù)Dto/// </summary>public class ImportStudentDto{/// <summary>/// 序號/// </summary>[ImporterHeader(Name = "序號")]public long SerialNumber { get; set; }/// <summary>/// 學(xué)籍號/// </summary>[ImporterHeader(Name = "學(xué)籍號")]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>/// 家長聯(lián)系電話/// </summary>[ImporterHeader(Name = "家長聯(lián)系電話")]public string GuardianPhone { get; set; }/// <summary>/// 學(xué)號/// </summary>[ImporterHeader(Name = "學(xué)號")]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>/// 戶口性質(zhì)/// </summary>[ImporterHeader(Name = "戶口性質(zhì)")]public string HouseholdType { get; set; }/// <summary>/// 聯(lián)系電話/// </summary>[ImporterHeader(Name = "學(xué)生聯(lián)系電話")]public string Phone { get; set; }/// <summary>/// 狀態(tài)/// 測試可為空的枚舉類型/// </summary>[ImporterHeader(Name = "狀態(tài)")]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>/// 學(xué)校Id/// </summary>[ImporterHeader(IsIgnore = true)]public Guid? SchoolId { get; set; }/// <summary>/// 校區(qū)Id/// </summary>[ImporterHeader(IsIgnore = true)]public Guid? CampusId { get; set; }/// <summary>/// 專業(yè)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
層出不窮的新技術(shù)對程序員來說既是挑戰(zhàn)也是機(jī)遇,固守自己的一畝三分地遲早落于他人,是時(shí)候跳出來看看行業(yè)內(nèi)的發(fā)展新趨勢,參與2020 DAMS中國數(shù)據(jù)智能管理峰會是個(gè)不錯(cuò)的選擇,其中前沿技術(shù)議題包括:
《當(dāng)5G遇上金融,看電信甜橙金融如何創(chuàng)新?》中國電信甜橙金融技術(shù)創(chuàng)新中心總經(jīng)理 張小虎
《智能制造的數(shù)字化基礎(chǔ)的設(shè)計(jì)與演進(jìn)》長城汽車集團(tuán)云計(jì)算總監(jiān) 張小斌
《平安銀行“傳統(tǒng)+互聯(lián)網(wǎng)”混合CMDB及運(yùn)營中臺實(shí)踐》平安銀行運(yùn)營開發(fā)負(fù)責(zé)人 徐大蔚
《中信銀行的DevOps實(shí)踐》中信銀行DevOps實(shí)施牽頭人 李紅濤
8月7日,一起在上海洞悉技術(shù)發(fā)展新趨勢,逆襲碼農(nóng)人生吧!
轉(zhuǎn)載是一種動力 分享是一種美德
如果喜歡作者的文章,請關(guān)注【麥扣聊技術(shù)】訂閱號以便第一時(shí)間獲得最新內(nèi)容。本文版權(quán)歸作者和湖南心萊信息科技有限公司共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利。
文檔官網(wǎng):docs.xin-lai.com
QQ群:
編程交流群<85318032>?
產(chǎn)品交流群<897857351>
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的Magicodes.IE Csv导入导出的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一些有关使用EF的错误用法展开的思考
- 下一篇: 明明可以靠技术吃饭,现在却非要出来当编剧