国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Excel導(dǎo)入功能(Ajaxfileupload)

2019-11-15 00:53:03
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
Excel導(dǎo)入功能(Ajaxfileupload)
前言:
前端采用Easyui+Ajaxfileupload實(shí)現(xiàn)
后端采用sPRingmvc框架,其中把解析xml封裝成了一個(gè)jar包,直接調(diào)用即可準(zhǔn)備:
前端需要導(dǎo)入(easyui導(dǎo)入js省略,自行導(dǎo)入即可)Ajaxfileupload.js 下載地址:http://files.VEVb.com/files/holdon521/ajaxfileupload.zip后端需要導(dǎo)入:ht-excel.jar      下載地址:http://files.VEVb.com/files/holdon521/ht-excel.zip
前端代碼:
<div class="easyui-layout" fit="true" style="overflow-y:auto;">        <div class="ht-info">            <div class="ht-tip icon-tip"></div>            <div>電視臺(tái)類(lèi)型導(dǎo)入</div>        </div>        <div>               <form id="uploadform" action="" method="post" enctype="multipart/form-data">                <table>                    <tr>                        <td>請(qǐng)選擇文件:</td>                        <td>                        <input type="file" name="file" id="file" ></input>                        </td>                    </tr>                </table>            </form>        </div>        <div region="south" border="false" style="text-align:right;height:30px;line-height:30px;background:#EAF2FF;">              <a href="#" onclick="ajaxFileUploadForType()"class="easyui-linkbutton" icon="icon-ok" >提交</a>              <a class="easyui-linkbutton" icon="icon-cancel" href="javascript:$ht.win.close('uploadTvType')">取消</a>          </div>  </div><script type="text/Javascript">function ajaxFileUploadForType(){    if($('input[type="file"]').val()!=""){         var extend=$('input[type="file"]').val().substr($('input[type="file"]').val().lastIndexOf(".")+1);         if("xls|xlsx".indexOf(extend+"|")==-1){             flagPic=false;             $.messager.alert("提示信息","選擇的文件必須是EXCEL文件,請(qǐng)確認(rèn)!");         }else{             $.ajaxFileUpload                (                    {                        url: 'uploadTvType', //用于文件上傳的服務(wù)器端請(qǐng)求地址                        secureuri: false, //是否需要安全協(xié)議,一般設(shè)置為false                        fileElementId: 'file', //文件上傳域的ID                        dataType: 'text', //返回值類(lèi)型 一般設(shè)置為json                        success: function (responseJSON)  //服務(wù)器成功響應(yīng)處理函數(shù)                        {                               if(responseJSON == "0"){                                $.messager.alert('提示信息','電視臺(tái)類(lèi)型導(dǎo)入成功!');                                $ht.win.close('uploadTvType');                                $ht.grid.reload('gridTvType');                            }else if(responseJSON == "2"){                                $.messager.alert('提示信息','沒(méi)有符合要求的數(shù)據(jù)或要導(dǎo)入的數(shù)據(jù),在數(shù)據(jù)庫(kù)中已經(jīng)存在,請(qǐng)確認(rèn)!');                            }else if(responseJSON == "error"){                                $.messager.alert('提示信息','電視臺(tái)類(lèi)型導(dǎo)入失敗!');                            }else {                                $.messager.alert('提示信息',responseJSON);                                $ht.grid.reload('gridTvType');                            }                        },                        error: function (data, status, e)//服務(wù)器響應(yīng)失敗處理函數(shù)                        {                            $.messager.alert('提示信息','電視臺(tái)類(lèi)型導(dǎo)入失敗!');                        }                    }                )         }    }else{         $.messager.alert("提示信息","請(qǐng)選EXCEL文件!");    }}</script>

后端代碼:

注:實(shí)體類(lèi)對(duì)應(yīng)Excel里列名稱(chēng),可以設(shè)置非空校驗(yàn)(如果為空,這默認(rèn)該行數(shù)據(jù)獲取不到),重寫(xiě)父方法即可,以下代碼注釋重寫(xiě)了

import java.util.List;

import com.sh.excelUtil.model.BaseModel;import com.sh.excelUtil.persistence.FieldNote;

public class TvTypeBean extends BaseModel implements java.io.Serializable{        private static final long serialVersionUID = -5217032731630006972L;        @FieldNote(logicalName = "終端類(lèi)型",physicalName = "terminalType",notNull = true)    private String terminalType;        @FieldNote(logicalName = "分類(lèi)編碼",physicalName = "tvTypeCode",notNull = true)    private String tvTypeCode;        @FieldNote(logicalName = "分類(lèi)名稱(chēng)",physicalName = "tvTypeName",notNull = true)    private String tvTypeName;        @FieldNote(logicalName = "分類(lèi)縮寫(xiě)名稱(chēng)",physicalName = "tvTypeAbridgeName",notNull = true)    private String tvTypeAbridgeName;        @FieldNote(logicalName = "排序字段",physicalName = "orderBy")    private String orderBy;    @Override    public List<Object> check(BaseModel model, List<Object> valueList){       // valueList = super.check(model,valueList);       //TODO:實(shí)現(xiàn)非空時(shí)的數(shù)據(jù)檢驗(yàn)       return valueList;    }    /**     * @return the terminalType     */    public String getTerminalType() {        return terminalType;    }    /**     * @param terminalType the terminalType to set     */    public void setTerminalType(String terminalType) {        this.terminalType = terminalType;    }    /**     * @return the tvTypeCode     */    public String getTvTypeCode() {        return tvTypeCode;    }    /**     * @param tvTypeCode the tvTypeCode to set     */    public void setTvTypeCode(String tvTypeCode) {        this.tvTypeCode = tvTypeCode;    }    /**     * @return the tvTypeName     */    public String getTvTypeName() {        return tvTypeName;    }    /**     * @param tvTypeName the tvTypeName to set     */    public void setTvTypeName(String tvTypeName) {        this.tvTypeName = tvTypeName;    }    /**     * @return the tvTypeAbridgeName     */    public String getTvTypeAbridgeName() {        return tvTypeAbridgeName;    }    /**     * @param tvTypeAbridgeName the tvTypeAbridgeName to set     */    public void setTvTypeAbridgeName(String tvTypeAbridgeName) {        this.tvTypeAbridgeName = tvTypeAbridgeName;    }    /**     * @return the orderBy     */    public String getOrderBy() {        return orderBy;    }    /**     * @param orderBy the orderBy to set     */    public void setOrderBy(String orderBy) {        this.orderBy = orderBy;    }}

import java.util.List;

import com.sh.excelUtil.excel.POIExcelUtil;

@Controller@RequestMapping("/channelinfomanage")public classChannelInfoManageController{

        @RequestMapping("/uploadTvType")    public void uploadTvType(HttpServletRequest request,            @RequestParam("file") MultipartFile file,            HttpServletResponse response) throws Exception {            //該對(duì)象為jar中工具類(lèi)            POIExcelUtil poi = new POIExcelUtil();            poi.impExcelFile(fileName, new TvTypeBean(),inputStream);            List<Object> valueList = poi.getValueList();

if(valueList!=null && valueList.size()>0){ for(int i =0;i<valueList.size();i++){

TvTypeBeanbean = (TvTypeBean)valueList.get(i);

//輸出字段數(shù)據(jù),并插入到相應(yīng)的表中,省略

System.out.println(bean.getTvTypeCode()+。。。。。。。);

}

}

    }  }}


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南阳市| 丰顺县| 峡江县| 香格里拉县| 夏津县| 吉木萨尔县| 闽清县| 舒兰市| 奉节县| 庆阳市| 社会| 乌海市| 西林县| 石棉县| 大姚县| 浦北县| 河池市| 连南| 石家庄市| 吐鲁番市| 麻江县| 汪清县| 双峰县| 买车| 桓仁| 辉县市| 元氏县| 利辛县| 永嘉县| 临泉县| 兴义市| 青阳县| 蕉岭县| 远安县| 商南县| 长垣县| 永城市| 类乌齐县| 闵行区| 蒙城县| 闵行区|