温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

.Net Core WebAPI怎么导入CSV

发布时间:2022-05-05 09:06:46 来源:亿速云 阅读:207 作者:iii 栏目:开发技术

这篇文章主要介绍“.Net Core WebAPI怎么导入CSV”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“.Net Core WebAPI怎么导入CSV”文章能帮助大家解决问题。

一、前端代码

<button type="button" class="btn btn-primary" onclick="InportTicket()">导入</button>
<input id="fileToUpload" type="file" name="upfile" >
/// JS脚本

$("#fileToUpload").click();

$("#fileToUpload").change(function () {
  var formData = new FormData();
  formData.append("myfile", document.getElementById("fileToUpload").files[0]);

  $.ajax({
    url: "../Ticket/TicketFileToUpload",
    type: 'POST',
    cache: false,
    processData: false,
    contentType: false,
    data: formData,
    success: function (res) {
      alert(res.Message);
    },
    error: function (data, status, e) {
      alert("操作失败!");
    }
  })
});

二、后台实现代码

[HttpPost]
public ActionResult TicketFileToUpload()
{
  try
  {
    if (Request.Files.Count > 0)
    {
      HttpPostedFileBase TicketFile = Request.Files[0];
      List<string[]> lstData = Helper.ImportExport.InportData(TicketFile.InputStream);
      TicketModel ticketope = new TicketModel();

      for (int i = 1; i < lstData.Count; i++)
      {
        string[] itemData = lstData[i];
        Ticket entity = ticketope.GetByCode(itemData[0]);
        if (entity == null)
        {
          entity = new Ticket();
          entity.Label = itemData[1];
          entity.SiteId = int.Parse(itemData[2]);
          entity.Owner = itemData[4];
          entity.CardId = itemData[5];
          entity.StartDate = DateTime.Parse(itemData[6]);
          entity.EndDate = DateTime.Parse(itemData[7]);
          entity.IsValid = bool.Parse(itemData[8]);
          entity.IsUsed = bool.Parse(itemData[9]);
          ticketope.Insert(entity);
        }
      }
      return Json(new JsonResultData() { Success = true, Message = "导入数据成功!" });
    }
    else
    {
      return Json(new JsonResultData() { Success = false, Message = "找不到导入文件数据!" });
    }
  }
  catch (Exception ex)
  {
    return Json(new JsonResultData() { Success = false, Message = "导入数据失败!" });
  }
}

public static List<string[]> InportData(Stream filestream)
{
  lock (RunningInport)
  {
    List<string[]> lstData = new List<string[]>();
    string strLine = "";
    bool IsFirst = true;

    StreamReader sr = new StreamReader(filestream, Encoding.UTF8);
    while ((strLine = sr.ReadLine()) != null)
    {
      if (IsFirst)
      {
        string[] strTitles = strLine.Split(',');
        lstData.Add(strTitles);
      }
      else
      {
        string[] strData = strLine.Split(',');
        lstData.Add(strData);
      }
    }
    return lstData;
  }
}

关于“.Net Core WebAPI怎么导入CSV”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI