1.前端html

<input =\"inputFileChange(this);\" id=\"addfile\" name=\"addfile\" type=\"file\" style=\"display: none\" />
<input type=\"text\" id=\"filename\" placeholder=\"请选择文件\" class=\"input-text\" style=\"height: 28px\" />
 <input class=\"btn btn-primary radius\" id=\"dialog\" type=\"button\" value=\"选择文件\" />

 

2.前端js

    function inputFileChange(_this)
        {          
            var file = $(\"#addfile\").val();
            var strfilename = file.replace(/^.+?\\\\([^\\\\]+?)(\\.[^\\.\\\\]*?)?$/gi, \"$1\")//这个是直接把后缀名也去掉的纯文件名
            var FileExt = file.replace(/.+\\./, \"\");//单独的后缀名提取   
            filename.value = strfilename + \".\" + FileExt;
            var fileUrl = getFileURL(_this.files[0]);
            if (isExcelFile($(_this).val())) {
                alert(\"格式正确\");
            }
            else { alert(\"您上传的文件不符合格式!\"); }
            $.ajaxFileUpload({
                url: \'/Home/Import\',
                secureuri: false,
                fileElementId: \'addfile\',
                dataType: \'text\',
                data: {
                   addFile: $(\"#addFile\").val(), fileName: strfileName + \".\" + FileExt
                },
                success: function (data) {
                    if (data == \"导入成功\") {
                        alert(\"导入成功!\");
                        window.location.reload();
                    }
                    else {
                        alert(\"导入失败!\");
                    }
                   
                },
                error: function (data, status, e) {
                alert(e);
            }
            });         
         }   
            function isExcelFile(val) 
            {
                var patn = /\\.xls$|\\.xlsx$/;
                if (patn.test(val.toLowerCase()))
                    return true;
                return false;
            }
            
        function getFileURL(file) {
            var url = null;
            if (window.create URL != undefined) { // basic
                url = window.create URL(file);
            } else if (window.URL != undefined) { // mozilla(firefox)
                url = window.URL.create URL(file);
            } else if (window.webkitURL != undefined) { // webkit or chrome
                url = window.webkitURL.create URL(file);
            }
            return url;
        }
    

3.后台控制器

 public ActionResult Import(string fileName)
        {
            string path = AcceptFile(fileName);//这里在工程目录下保存了文件。
            Workbook workbook1 = new Workbook();//这里需要引用spire插件
            List<string> xlist = new List<string>();            
            try
            {
                workbook1.LoadFromFile(path);//这里使用了spire插件,加载excel文件
                //int index = int.Parse(sheet);
                Worksheet sheet1 = workbook1.Worksheets[0];
                DataTable datatable = sheet1.ExportDataTable();
                Addto_mod(datatable);//放进数据库
                workbook1.Dispose();        
            }
            catch
            {
                return null;

            }
            return Content(\"ok\");
        }
        public void Addto_mod(DataTable datatable)
        {
            Maticsoft.BLL.problem bll = new Maticsoft.BLL.problem();
            List<Maticsoft.Model.problem> list = new List<Maticsoft.Model.problem>();
            Maticsoft.Model.problem mod = new Maticsoft.Model.problem();

            Maticsoft.BLL.problemclass class_bll = new Maticsoft.BLL.problemclass();
            Maticsoft.Model.problemclass class_mod = new Maticsoft.Model.problemclass();
            List<Maticsoft.Model.problemclass> class_list = new List<Maticsoft.Model.problemclass>();

            string[] question = { \"标题\",\"问题描述\",\"等级\",\"理由\",\"类别\",\"电厂\",\"基地是否同意\"};

            for (int i = 0; i <datatable.Rows.Count-1 ; i++)//行数
            {
                for (int j = 0; j < question.Length; j++)//列数
                {

                    if (datatable.Rows[0][j].ToString().Contains(question[j]))
                    {
                 
                           switch (question[j])
                        { 
                               case \"标题\":
                                mod.problem_ = datatable.Rows[i + 1][j].ToString().Trim();
                                    break;
                               case \"问题描述\":
                                    mod.problem_desc = datatable.Rows[i + 1][j].ToString().Trim();
                                    break;
                               case \"等级\":
                                    if (datatable.Rows[i + 1][j].ToString().Trim() == \"一般\")
                                    {
                                        mod.problem_level = 1;
                                    }
                                    if (datatable.Rows[i + 1][j].ToString().Trim() == \"紧急\")
                                    {
                                        mod.problem_level = 2;
                                    }     
                              
                                    break;
                               case \"理由\":
                                    mod.level_desc = datatable.Rows[i + 1][j].ToString().Trim();
                                    break;
                               case \"类别\":
                                    foreach (Maticsoft.Model.problemclass item in class_list)
                                    {
                                        if (datatable.Rows[i + 1][j].ToString() == item.classname)
                                        {
                                            mod.problem_classid = item.id;
                                        }
                                    }
                                    break;
                               case \"电厂\":
                                    mod.electricity_location = datatable.Rows[i + 1][j].ToString().Trim();
                                    break;
                               case \"基地是否同意\":
                                    mod.location_isagree = datatable.Rows[i + 1][j].ToString().Trim();
                                    break;            
                    
                        }  
                    }                    
                }
                mod.problem_id = Random();
                mod.userid = CookiesClass.ReadCurCookie().user_id;
                mod.problem_status = \"未审核\";
                mod.submit_time = DateTime.Now.ToString();
                bll.Add(mod);            
            }
        }

收藏 打印