国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java若依框架ruoyi導(dǎo)入Excel(附詳細(xì)代碼)

這篇具有很好參考價值的文章主要介紹了java若依框架ruoyi導(dǎo)入Excel(附詳細(xì)代碼)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

  • 【版權(quán)所有,文章允許轉(zhuǎn)載,但須以鏈接方式注明源地址,否則追究法律責(zé)任】
  • 【創(chuàng)作不易,點(diǎn)個贊就是對我最大的支持】

前言

僅作為學(xué)習(xí)筆記,供大家參考
總結(jié)的不錯的話,記得點(diǎn)贊收藏關(guān)注哦!

Excel導(dǎo)入

可能出現(xiàn)的問題

1.開發(fā)模板下載功能(如需定制列,可以單獨(dú)創(chuàng)建一個實體類,@Excel注解定義好名字)

2.導(dǎo)出后的列表如果有字典, @Excel(name = “建筑業(yè)資質(zhì)等級”,dictType=“sys_qualifications_leave”)

后臺代碼

controller層

 /**
     * 導(dǎo)出合理性分析列表
     */
    @RequiresPermissions("business:hlxfx:export")
    @Log(title = "合理性分析", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    @ResponseBody
    public AjaxResult export(GcQyHlxfx gcQyHlxfx) throws ParseException {
        List<GcQyHlxfx> list = gcQyHlxfxService.selectGcQyHlxfxList(gcQyHlxfx);
        ExcelUtil<GcQyHlxfx> util = new ExcelUtil<GcQyHlxfx>(GcQyHlxfx.class);
        return util.exportExcel(list, "合理性分析數(shù)據(jù)");
    }
    //導(dǎo)入數(shù)據(jù)
    @Log(title = "合理分析", businessType = BusinessType.IMPORT)
    @PostMapping("/importData")
    @ResponseBody
    public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
    {
        ExcelUtil<GcQyHlxfx> util = new ExcelUtil<GcQyHlxfx>(GcQyHlxfx.class);
        List<GcQyHlxfx> gcQyHlxfxList = util.importExcel(file.getInputStream());
        String message = gcQyHlxfxService.importHlxfx(gcQyHlxfxList, updateSupport, getLoginName());
        return AjaxResult.success(message);
    }
	//模板下載
    @GetMapping("/importTemplate")
    @ResponseBody
    public AjaxResult importTemplate()
    {
        ExcelUtil<GcQyHlxfxImport> util = new ExcelUtil<GcQyHlxfxImport>(GcQyHlxfxImport.class);
        return util.importTemplateExcel("合理分析");
    }

Service層

     public String importHlxfx(List<GcQyHlxfx> gcQyHlxfxList, Boolean isUpdateSupport, String operName) {
        if (StringUtils.isNull(gcQyHlxfxList) || gcQyHlxfxList.size() == 0)
        {
            throw new ServiceException("導(dǎo)入數(shù)據(jù)不能為空!");
        }
        int successNum = 0;
        int failureNum = 0;
        StringBuilder successMsg = new StringBuilder();
        StringBuilder failureMsg = new StringBuilder();
        for (GcQyHlxfx res : gcQyHlxfxList)
        {
            try
            {
                // 驗證是否存在這個企業(yè)
                GcQyJbxx jbxx = gcQyJbxxMapper.selectGcQyJbxxByxydm(res.getSocialCode());
                if (!StringUtils.isNull(jbxx)){
                    LocalDate localDate=LocalDate.now();
                    res.setJzyzzdj(jbxx.getJZYZZDJ());
                    res.setQyszcq(jbxx.getQYSZCQ());
                    GcQyHlxfx sfgcQyHlxfx = new GcQyHlxfx();
                    sfgcQyHlxfx.setSocialCode(res.getSocialCode());
                    DecimalFormat df2 = new DecimalFormat("00");
                    String yMonth=localDate.getYear()+"-"+df2.format(localDate.getMonth().getValue());
                    sfgcQyHlxfx.setYearMonths(yMonth);
                    List<GcQyHlxfx> gcQyHlxfxes = gcQyHlxfxMapper.selectGcQyHlxfxList(sfgcQyHlxfx);
                    GcQyHlxfx gcQyHlxfx = new GcQyHlxfx();
                    String jzbnd = "0";//本平臺累積產(chǎn)值
                    if (gcQyHlxfxes.size()>0){
                        gcQyHlxfx = gcQyHlxfxes.get(0);
                        jzbnd = gcQyHlxfx.getBndzcz();
                    }
                    Integer i = 0;
                    Integer c = 0;
                    double b = 0;
                    String bnd = res.getZhptJzcyzcz();//智慧平臺本年度累積產(chǎn)值
                    if (bnd.contains(".")){
                        b = Double.parseDouble(bnd);
                        i = (int)b;
                    }else{
                        i = Integer.parseInt(bnd);
                    }
                    if (jzbnd.contains(".")){
                        b = Double.parseDouble(jzbnd);
                        c = (int)b;
                    }else{
                        c = Integer.parseInt(jzbnd);
                    }
                    //計算校核
                   Integer checks = c - i;
                    if (checks>0){
                        res.setDataMatch(1L);
                    }else if (checks==0){
                        res.setDataMatch(2L);
                    }else if (checks<0){
                        res.setDataMatch(3L);
                    }
                    res.setChecks(Long.parseLong(checks.toString()));

                        if (gcQyHlxfxes.size()>0){
                       BeanValidators.validateWithException(validator, res);
                       res.setId(gcQyHlxfx.getId());
                        res.setUpdateBy(operName);
                        //res.setYearMonths(yMonth);
                        res.setGxsj(new Date());
                        res.setGxr(ShiroUtils.getSysUser().getUserId().toString());
                        this.updateGcQyHlxfx(res);
                        successNum++;
                        successMsg.append("<br/>" + successNum + "、企業(yè): " + res.getQymc() + " 更新成功");
                    }
                    else
                    {
                        failureNum++;
                        failureMsg.append("<br/>" + failureNum + "、企業(yè): " + res.getQymc() +" 本月未上報");
                    }

                }else {
                    failureNum++;
                    failureMsg.append("<br/>" + failureNum + "、企業(yè): " + res.getQymc() +" <font color='red'>系統(tǒng)內(nèi)未查到該企業(yè)信息!</font>");
                }

            }
            catch (Exception e)
            {
                failureNum++;
                String msg = "<br/>" + failureNum + "、企業(yè): " + res.getQymc() + " 導(dǎo)入失?。?;
                failureMsg.append(msg + e.getMessage());
                log.error(msg, e);
            }
        }

        if (failureNum > 0)
        {
            failureMsg.insert(0, "共" + successNum + " 條數(shù)據(jù)導(dǎo)入成功, " + failureNum + " 條數(shù)據(jù)格式不正確,錯誤如下:");
            throw new ServiceException(failureMsg.toString());
        }
        else
        {
            successMsg.insert(0, "恭喜您,數(shù)據(jù)已全部導(dǎo)入成功!共 " + successNum + " 條,數(shù)據(jù)如下:");
        }
        return successMsg.toString();
    }
前端

js

                url: prefix + "/list",
                createUrl: prefix + "/add",
                updateUrl: prefix + "/edit/{id}",
                removeUrl: prefix + "/remove",
                exportUrl: prefix + "/export",
                importUrl: prefix + "/importData",
                importTemplateUrl: prefix + "/importTemplate",

  <!-- 導(dǎo)入?yún)^(qū)域 -->
     <script id="importTpl" type="text/template">
         <form enctype="multipart/form-data" class="mt20 mb10">
             <div class="col-xs-offset-1">
                 <input type="file" id="file" name="file"/>
                 <div class="mt10 pt5">
                    <!-- <input type="checkbox" id="updateSupport" name="updateSupport" title="如果已經(jīng)存在,更新這條數(shù)據(jù)。"> 是否更新已經(jīng)存在的數(shù)據(jù)-->
                     請點(diǎn)擊下載模板后進(jìn)行導(dǎo)入
                     &nbsp;	<a onclick="$.table.importTemplate()" class="btn btn-default btn-xs"><i class="fa fa-file-excel-o"></i> 下載模板</a>
                 </div>
                 <font color="red" class="pull-left mt10">
                     提示:僅允許導(dǎo)入“xls”或“xlsx”格式文件!
                 </font>
             </div>
         </form>
     </script>

html

    <div class="btn-group-sm" id="toolbar" role="group">

                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="business:hlxfx:export">
                    <i class="fa fa-download"></i> 導(dǎo)出
                </a>
                <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:hlxfx:export">
                    <i class="fa fa-upload"></i> 導(dǎo)入
                </a>
            </div>

創(chuàng)作不易,點(diǎn)個贊就是對我最大的支持~


wxgzh:程序員溫眉

CSDN:程序員溫眉

每天進(jìn)步一點(diǎn)點(diǎn)的程序員文章來源地址http://www.zghlxwxcb.cn/news/detail-819306.html

到了這里,關(guān)于java若依框架ruoyi導(dǎo)入Excel(附詳細(xì)代碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Java 使用hutool工具進(jìn)行導(dǎo)出導(dǎo)入excel表格(代碼很簡單)

    Java 使用hutool工具進(jìn)行導(dǎo)出導(dǎo)入excel表格(代碼很簡單)

    創(chuàng)建一個Controller進(jìn)行測試?

    2024年02月07日
    瀏覽(24)
  • 若依開源框架-微服務(wù)版本(ruoyi-Cloud)使用說明-超詳細(xì)

    若依開源框架-微服務(wù)版本(ruoyi-Cloud)使用說明-超詳細(xì)

    JDK 1.8 Mysql 5.7以上 Nacos 2.0.3 Node 14 版本以上 打開網(wǎng)站: RuoYi 若依官方網(wǎng)站 |后臺管理系統(tǒng)|權(quán)限管理系統(tǒng)|快速開發(fā)框架|企業(yè)管理系統(tǒng)|開源框架|微服務(wù)框架|前后端分離框架|開源后臺系統(tǒng)|RuoYi|RuoYi-Vue|RuoYi-Cloud|RuoYi框架|RuoYi開源|RuoYi視頻|若依視頻|RuoYi開發(fā)文檔|若依開發(fā)文檔|J

    2024年02月04日
    瀏覽(18)
  • [詳細(xì)步驟]Java將Excel文件導(dǎo)入到數(shù)據(jù)庫表中、并使用postman測試

    [詳細(xì)步驟]Java將Excel文件導(dǎo)入到數(shù)據(jù)庫表中、并使用postman測試

    1、Maven依賴添加 2、需要使用的類 controller:ExcelController entity:ExcelEntity(設(shè)計此實體類,需要與excel文件一一對應(yīng)) mapper:ExcelMapper service:ExcelServiceImpl、ExcelService util:ReadExcelUtil 3、代碼 4、postman測試 file(excel)的文件路徑需真實存在,下圖進(jìn)行設(shè)置路徑、我的excel放在了

    2024年02月07日
    瀏覽(18)
  • 若依框架自定義導(dǎo)出Excel多sheet頁+合并單元格(Poi)

    若依框架自定義導(dǎo)出Excel多sheet頁+合并單元格(Poi)

    先看效果: ? ? 在用若依框架是發(fā)現(xiàn)自帶的導(dǎo)出功能中并不能導(dǎo)出多個sheet和合并單元格,所以我在這里做了修改希望可以幫到你,用到的點(diǎn)個贊唄! 我們先一步步來 整個程序的思路為先返回下載地址,然后根據(jù)下載地址去下載excel 首先是我們需要excel的下載地址,這里我們

    2024年02月03日
    瀏覽(31)
  • Java:讀取excel文件中的內(nèi)容(簡單、詳細(xì)、明確、有全部代碼)

    注意: jxl 僅支持讀取 .xls 文件,讀 .xlsx 會報錯! 在 pom.xml 中引入 jxl 的依賴 支持讀取 xlsx 文件的 poi 依賴說明、使用方法及更多詳細(xì)內(nèi)容可以參考: Java讀取excel的方式,一篇文章看懂(詳細(xì))

    2024年02月12日
    瀏覽(35)
  • MySQL批量導(dǎo)入Excel數(shù)據(jù)【超詳細(xì)】

    MySQL批量導(dǎo)入Excel數(shù)據(jù)【超詳細(xì)】

    查看此文章前強(qiáng)烈建議先看這篇文章:Java江湖路 | 專欄目錄 今天遇到一個需求,批量更新數(shù)據(jù)庫中全國各地的物流價格,產(chǎn)品經(jīng)理很貼心的為我做好了數(shù)據(jù)表格,說是上一個技術(shù)也是這么做的,好,壓力給到我這邊。話不多說,直接上步驟。 1、準(zhǔn)備好我們需要導(dǎo)入的excel表

    2024年02月05日
    瀏覽(26)
  • java poi導(dǎo)入Excel、導(dǎo)出excel

    java poi導(dǎo)入Excel、導(dǎo)出excel ReadPatientExcelUtil PoiUtils FileUtils

    2024年02月15日
    瀏覽(27)
  • java導(dǎo)入excel圖片處理

    直接看代碼吧,主要邏輯吧excel的圖片拿到 壓縮上傳獲取url

    2024年02月12日
    瀏覽(20)
  • java批量導(dǎo)入Excel數(shù)據(jù)

    java批量導(dǎo)入Excel數(shù)據(jù)

    1.后臺導(dǎo)入代碼 2.實體類 2.1設(shè)置表格下拉選項? 3.vue前端導(dǎo)入功能代碼

    2024年02月09日
    瀏覽(17)
  • java讀取Excel導(dǎo)入去除空行

    java讀取Excel導(dǎo)入去除空行

    問題: 在Java讀取Excel導(dǎo)入操作時, sheet.getLastRowNum()會統(tǒng)計帶有格式的空白行,導(dǎo)致獲取的最大行數(shù)不準(zhǔn)確,數(shù)據(jù)導(dǎo)入失敗。 解決: 在操作過程中刪除存在樣式的空白行 可通過將空白行(內(nèi)容為空,但是存在樣式)進(jìn)行sheet.removeRow刪除后 再調(diào)用getLastRowNum()進(jìn)行行數(shù)統(tǒng)計,getAcc

    2024年02月15日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包