导入数据(前后台)

<%:Styles.Render("~/Content/bootstrap-table")%>
<%:Styles.Render("~/forms/artDialog/skins/default2.css")%>
<%:Styles.Render("../CSS/fileinput.min.css")%>
<%:Scripts.Render("~/bundles/bootstrap-table")%>
<%:Scripts.Render("~/bundles/bootstrap-dialog")%> <%:Scripts.Render("../JS/fileinput.min.js")%>  <%:Scripts.Render("~/forms/artDialog/artDialog.js")%>

 <div class="col-md-1 col-sm-2 pull-right" style="margin-right: 20px">
      <a class="btn btn-warning" data-toggle='modal' data-target='#importExecl'><i class="fa fa-upload"></i>&nbsp;导入数据</a>
 </div>
 <!-- 模态框2(Modal) -->
        <div class="modal fade" id="importExecl" data-target="" tabindex="-1" role="dialog" aria-labelledby="myModalLabel2" aria-hidden="true">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">
                            &times;
                   
                        </button>
                        <h4 class="modal-title" id="H2">Execl文件上传
                        </h4>
                    </div>
                    <div class="box-body">
                        <div class="modal-body" id="liuchengbody2">
                            <input id="impExecl" name="impExecl" type="file" data-show-preview="false">
                        </div>
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-default" data-dismiss="modal">
                            关闭
                   
                        </button>
                    </div>
                </div>
                <!-- /.modal-content -->
            </div>
            <!-- /.modal -->
        </div>
 $(document).ready(function () {
  //初始化fileinput控件(第一次初始化)
  initExeclInput("impExecl", "Project.ashx?action=ImportProject&rnd=" + Math.random());   })
 //初始化fileinput控件(第一次初始化)
        function initExeclInput(ctrlName, uploadUrl) {
            var control = $('#' + ctrlName);

            control.fileinput({
                uploadAsync: true,              //异步上传
                language: 'zh', //设置语言
                uploadUrl: uploadUrl, //上传的地址
                allowedFileExtensions: ['xls', 'xlsx'],//接收的文件后缀
                maxFileCount: 1, //表示允许同时上传的最大文件个数
                maxFileSize: 0,//单位为kb,如果为0表示不限制文件大小
                showCaption: true,
                showUpload: true,
                showRemove: true,
                showClose: true,
                previewFileIcon: "<i class='glyphicon glyphicon-king'></i>",
            }).on('fileuploaded', function (event, data, previewId, index) {
                var res = data.response; //返回结果
                if (res.result == "1") {
                    alert("文件上传成功!");
                } else {
                    alert("文件上传失败!");
                }

            });
        }
 public void ImportProject(HttpContext context)
    {
        Dictionary<string, object> dic = new Dictionary<string, object>();
        HttpPostedFile file = context.Request.Files["impExecl"];
        string savepath = "~/";  //父目录
        string day = DateTime.Now.ToString("yyyy-MM-dd");
        string Pfpath = context.Server.MapPath(savepath) + "UploadFile//StudyTour//" + day;
        try
        {
            if (!Directory.Exists(Pfpath))//查看存储路径的文件是否存在
            {
                Directory.CreateDirectory(Pfpath);   //创建文件夹,并上传文件
            }
            savepath = Pfpath + "//" + DateTime.Now.ToString("yyyyMMddHHmmss") + file.FileName.Substring(file.FileName.IndexOf('.'));
            //if (!System.IO.File.Exists(savepath))   //验证是否存在此文件
            //{
            file.SaveAs(savepath);
            file.InputStream.Close();
            file.InputStream.Dispose();
            DataTable dt = NPOIExcelHelper.ImportExecl(savepath);
            TourStudyProject model = new TourStudyProject();
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                DataRow dr = dt.Rows[i];
                if (!dr.IsNull("ProjectNo"))
                {
                    #region 模块信息写入
                    model.ProjectNo = dr["ProjectNo"].ToString();
                    model.ProjectName = dr["ProjectName"].ToString();                                                                                          
                    int result = model.Insert();
                    #endregion
                }
            }
            dic.Add("result", "1"); 
        }
        catch (Exception ex)
        {
            Unionstars.Trace.Log.WriteLine(ex.ToString());
        }
        string json = Newtonsoft.Json.JsonConvert.SerializeObject(dic);
        context.Response.ContentType = "json/plain";
        context.Response.Clear();
        context.Response.Write(json);
        context.Response.End();
    }
NPOIExcelHelper.cs类下方法
/// <summary>读取excel
    /// 默认第二行为标头
    /// </summary>
    /// <param name="strFileName">excel文档路径</param>
    /// <returns></returns>
    public static DataTable ImportExecl(string strFileName)
    {
        DataTable dt = new DataTable();
        HSSFWorkbook hssfworkbook;
        using (FileStream file = new FileStream(strFileName, FileMode.Open, FileAccess.Read))
        {
            hssfworkbook = new HSSFWorkbook(file);
        }
        HSSFSheet sheet = (HSSFSheet)hssfworkbook.GetSheetAt(0);获取第一个sheet
        System.Collections.IEnumerator rows = sheet.GetRowEnumerator();
        HSSFRow headerRow = (HSSFRow)sheet.GetRow(1);  //获取标头,这里是第二行
        int cellCount = headerRow.LastCellNum;

        for (int j = 0; j < cellCount; j++)
        {
            HSSFCell cell = (HSSFCell)headerRow.GetCell(j);
            dt.Columns.Add(cell.ToString());
        }
        for (int i = (sheet.FirstRowNum + 2); i <= sheet.LastRowNum; i++)
        {
            HSSFRow row = (HSSFRow)sheet.GetRow(i);
            DataRow dataRow = dt.NewRow();
            if (row != null)
            {
                for (int j = row.FirstCellNum; j < cellCount; j++)
                {
                    if (row.GetCell(j) != null)
                        dataRow[j] = row.GetCell(j).ToString();
                }
                dt.Rows.Add(dataRow);
            }
        }
        return dt;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值