zoukankan      html  css  js  c++  java
  • webapi 导入CSV文件

    /// Html 代码

    <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("操作失败!");
        }
      })
    });

    /// Action 代码

    [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;
      }
    }

  • 相关阅读:
    ES6的reduce( )方法 可以数组求和、数组去重、二维数组转一维数组、计算数组中每个元素出现的次数
    防止/禁止页面后退
    CSS预处理器SASS将迁移到Dart Sass
    FormData 对象的使用
    javascript中编码与解码的decodeURI()、decodeURIComponent()区别
    Chrome谷歌浏览器调试技巧小结
    javaweb:tomcat&servlet
    java:Druil连接池
    java:c3p0连接池的使用
    java:JDBC的使用方式
  • 原文地址:https://www.cnblogs.com/wangye520/p/10244385.html
Copyright © 2011-2022 走看看