WebAPI导入CSV ASP.NETWebAPI导入CSV

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

WebAPI导入CSV ASP.NETWebAPI导入CSV

農碼一生   2022-05-06 我要评论
想了解ASP.NETWebAPI导入CSV的相关内容吗,農碼一生在本文为您仔细讲解WebAPI导入CSV的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:ASP.NET,WebAPI,导入CSV,下面大家一起来学习吧。

一、前端代码

<button type="button" class="btn btn-primary" onclick="InportTicket()">导入</button>
<input id="fileToUpload" type="file" name="upfile" style="display:none;">
/// 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;
  }
}

到此这篇关于ASP.NET WebAPI导入CSV的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们