项目实训涉及的获取数据库数据,导出生成Excel表格(使用Nutz框架)

nutz框架下导出功能 (前后端分离) nutz框架下导出功能 (前后端分离) 前端页面 随手记录 会越来越好 加油 阅读详情

前提要连接自己的数据库,java bean 就不写出来了

Service层:

/**
     * 导出数据到Excel
     * @param ids
     * @return
     */
    public boolean exportMeeting(Integer[] ids) {
        List<MeetingMain> list = new ArrayList<MeetingMain>();
        for (Integer id : ids) {
            list.add(dao().fetch(MeetingMain.class, id));
        }

        HSSFWorkbook  wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("sheet");
        HSSFRow row = sheet.createRow(0);

        HSSFCell cell = row.createCell(0);
        cell.setCellValue("会议主题");
        cell = row.createCell(1);
        cell.setCellValue("负责人");
        cell = row.createCell(2);
        cell.setCellValue("会议类型");
        cell = row.createCell(3);
        cell.setCellValue("会议开始时间");
        cell = row.createCell(4);
        cell.setCellValue("会议结束时间");

        for (int i = 0; i < list.size(); i++) {
            row = sheet.createRow(i + 1);
            MeetingMain quz = (MeetingMain) list.get(i);
            row.createCell(0).setCellValue(quz.getName());
            row.createCell(1).setCellValue(quz.getCharger());
            row.createCell(2).setCellValue(quz.getType() == 0? "教研会" : (quz.getType() == 1? "班会" : "小组会议"));
            row.createCell(3).setCellValue(new SimpleDateFormat("yyyy-mm-dd HH:mm:ss").format(quz.getStartTime()));
            row.createCell(4).setCellValue(new SimpleDateFormat("yyyy-mm-dd HH:mm:ss").format(quz.getEndTime()));
        }

        try {
            FileOutputStream fos = new FileOutputStream("D:/meeting.xls");
            wb.write(fos);
            fos.close();
            return true;
        } catch (Exception e) {
            e.printStackTrace();
        } 
        return false;
    }

Module层:

/**
     * 从数据库获取数据生成excel
     * @param id
     * @return
     */
    @At("/teach/meeting-exportMeeting")
    public Object exportMeeting(Integer[] id) {
        return meetingService.exportMeeting(id);
    }

JS调用:

/**
 * 会议基本信息导出事件
 */
$("#grid-main-exp").click(function(){
    var id = gridMain.jqGrid('getGridParam', 'selarrrow');
    if (!checkNotNull(id)) {
        alert("请选择数据行进行操作");
        return;
    }

    $.asyn({
        url : ctx + "/teach/meeting-exportMeeting.do?id=" + id,
        success : function(result) {
            if (result) {
                alert("导出成功!");
            } else {
                alert("导出失败!");
            }

        }
    });
});

JSP页面:

<button id="grid-main-exp" class="btn btn-default btn-sm">
    <i class="fa fa-trash-o"></i> 导出
</button>
项目实训-文件上传-Nutz 项目实训:后台基于Nutz框架,需要实现一个文件上传功能,其中通过文件上传Excel来初始化数据库数据 1、后台实现文件的操作,@AdaptBy主要是说明接口是用于文件操作的,把上传适配器交由 Ioc 容器来管理,需要在你的 Ioc 配置文件里配置你的 UploadAdaptor。Module代码如下:/** * 上传文件 */ @At("/teach/assess-uploadFile") @ 阅读详情

相关推荐

nutz代码生成器

可连接多种数据库根据表直接生成nutz所需的bean

Nutz框架的简单使用

Q:什么是Nutz。 A:类似于SSH的一个框架。官网http://www.nutzam.com/ Q:Nutz怎么读。 A:读作 “纳特Z(Z发重音)”。Nutz 的 Nut 是因为霍金的《果壳中的宇宙》是 zozoh 最喜欢的一本书之一。 Z 是 zozoh 小时,动画片《佐罗》给他...

chuiyandian9835的博客 2089

Tessent MBIST SDC

主要是两个PROC,tessent_constrain_${design_name}_mentor_ijtag_non_modal和tessent_constrain_${design_name}_mentor_memory_bist_modal。其中,Memory/MBIST controller/MEM Interface可以从func_clk_1来(用func_clk_1和func_clk_2的高频时钟),如图中红色线。其中,SIB和BAP用ijtag_tck的clock,如图绿色线。

po_poo的博客 1988

java 利用poi根据excel模板导出数据(一)

前言 作为B端开发,导出数据是不可以避免的,但是有时候需求很变态,表头复杂的一笔,各种合并单元格,如下图: 这些虽说用代码可以实现,但是很繁琐,而且代码并不能通用,遇到更复杂的更难受。为了追求更简单,高效率,我们需要换个方法-------利用模板导出数据! ?????能用模板????? sure! 正文开始 1.需要用到的包 poi <!-- json4excel,poi --> <dependency> ..

stuild stuil 的博客 1万+

【机械视觉】C#+VisionPro实战:位深图(CogImage8Grey)与Bitmap互转技巧及工业检测应用

本文详细介绍了在工业检测中如何使用C#和VisionPro实现位深图(CogImage8Grey)与Bitmap的高效互转技巧。通过实战代码示例和工业应用案例,帮助开发者解决图像处理中的常见问题,提升检测精度和系统性能,适用于半导体、汽车零部件等高精度检测场景。

weixin_29250573的博客 186

突发E层(Es层):短波通信中的“意外惊喜”与“隐形杀手”全解析

本文深入解析了突发E层(Es层)在短波通信中的双重作用,既可能带来超远距离通信的“意外惊喜”,也可能成为通信链路的“隐形杀手”。通过分析Es层的形成机制、时空分布规律及实战应用技巧,帮助通信爱好者与专业人员更好地利用或应对这一电离层现象,提升短波通信的可靠性与效率。

weixin_30443813的博客 822

Excel导入读取数据和导出数据为指定Excel文件

Excel导入读取数据和导出数据为指定Excel文件

zy604714的博客 565

数字后端实现Innovus教程之手把手教你N种高亮timing path和clock tree方法

数字IC后端设计实现Innovus教程之手把手教你N种高亮timing path和clock tree方法

weixin_37584728的博客 3595

Why Nutz

今天,同事问我,为何选择nutz,而不是MVC。一时我也不知道为何,好用?方便?习惯了? 想了想还是有几个理由的,这来源于当初遇到的几个问题,那就从问题讲起。问题1:android app数据同步方案1:sql语句曾经(呵呵,就在公司以前某个APP中),见过这种同步方案: 想同步一个表,拼sql语句,然后无论是android客户端还是服务端,读取收sql语句,然后执行插入或者更新删除操作。弊端(

woxingjiangh的专栏 576

ISP-全局色调映射(GTM)算法简单实现

色调映射算法,色彩空间转换LAB

notgoodenouf的博客 2239

USB3.0 Type-B连接器SSTX/SSRX信号定义常见错误与硬件设计避坑指南

本文详细解析了USB3.0 Type-B连接器中SSTX/SSRX信号的定义标准与常见设计错误。针对连接器厂商图纸可能出现的信号标识错误,提供了实用的排查方法和硬件设计避坑指南,帮助工程师避免因引脚定义颠倒导致的通信降级或故障,确保USB3.0高速传输的稳定性。

gg901的博客 1265

java小程序:读取excel数据存入mysql

1.添加依赖 <!--excel工具依赖--> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.5.1</version> </dependency>

qq_41257649的博客 644

立创开源4G+GPS定位系统:基于微信小程序的低成本低功耗追踪方案

本文介绍了一个基于立创开源平台的超小型4G+GPS定位系统方案。该方案采用28mm*28mm主板,集成4G Cat.1通信与GPS定位,通过微信小程序“点灯专家”实现远程追踪管理,具备低成本、低功耗、易于部署的特点,适用于电动车、宠物、资产追踪等多种场景。

weixin_28895791的博客 394

Prelaunchr活动结束处理:使用rake任务导出获奖者数据的完整指南

当您的预发布活动圆满结束时,Prelaunchr提供了一个简单而强大的解决方案来**导出获奖者数据**。这个开源Rails项目专门为病毒式营销活动设计,让您能够轻松处理活动结束后的**获奖者数据导出**工作。在本指南中,我将详细介绍如何使用Prelaunchr内置的rake任务来**批量导出用户数据**,确保您能够顺利地向所有获奖者发放奖励。 ## 🎯 为什么需要活动结束处理? 预发布活动通

gitblog_01155的博客 400

Hypermesh2021实战:塑料圆盘结构化网格划分全流程(附避坑指南)

本文详细介绍了使用Hypermesh2021进行塑料圆盘结构化网格划分的全流程操作,包括几何预处理、网格生成策略及质量验证。特别针对工程实践中常见的12个典型问题提供解决方案,帮助用户提升CAE仿真分析的精度和效率。

weixin_29294597的博客 318

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

优秀开源框架集锦

Lucene 全文检索(Java引擎框架) JavaFx PC端图形界面(支持CSS、JS、Swing的集成)

普通人遵守规则,牛人无视规则,伟人创造规则.无视规则之前要了解规则! 567

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

GitLab历史分支清理实战:从命令到自动化,真正为仓库减负

Git 分支本质上只是一个指向提交的引用,但长期堆积的历史分支会带来心智负担、仓库体积膨胀和 CI/CD 性能下降。删除分支并不等于释放空间,被移除分支的提交对象仍会以悬空状态留在对象库中,必须配合 git gc 和 GitLab Housekeeping 才能实现真正的仓库瘦身。本文从 Git 对象模型出发,系统讲解如何盘查远程分支合并状态、安全删除本地与远程分支、清理 stale 引用,并给出基于 GitLab API 的自动化清理脚本与定时策略。针对删除后 .git 目录依然很大的典型问题,还介绍了

weixin_33845881的博客 366

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Nutz | Nutz项目整合Spring实战

Nutz项目整合Spring实战前言本教程主要基于本人Nutz框架的 Demo进行改造,目的是使原有Nutz demo代码可以正常运行,新增spring代码也可以正常运行,并且Nutz框架原有代码与spring新增代码可以相互引用,从而达到整合后的新代码与旧代码可以兼容,请配合项目源码进行操作。 Demo功能 登陆模块 查看用户列表 新增用户 通

Eshare分享 9066

JavaScript 导出 xls

引入js 引入: <script src="../js/json2excel.js" type="text/javascript" charset="utf-8"></script> json2excel.js 插件代码 function JSONToExcelConvertor(JSONData, FileName, ShowLabel) { //先转化json ...

很爱惜头发的博客 530

js常用插件(四)之jsonExportExcel导出表格(后台系统必备)

js常用插件之jsonExportExcel导出表格(后台系统必备) 欢迎点击: 个人官网博客 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document<

小龚的博客 2186

今天新学,通过Nutz来对数据库表格进行增删改查。更加简便。

版权声明:本文为博主原创文章,未经博主允许不得转载。

CapsLockWY的博客 1034

Maven 项目依赖问题解决--ZipException: invalid LOC header (bad signature)

报错日志六月 09, 2018 6:38:46 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:...

当富网络 1万+

框架中的导出excel表格实现

1、在前端页面中写入代码: <a class="btn btn-outline btn-danger btn-xs" id="export"><i class="fa th-list"></i>导出excel</a> //导出excel $("#export").click(function(){ var lis...

weixin_40214184的博客 976

nuxt导入、导出Excel表格

使用npm安装 npm install -S file-saver xlsx npm install -D script-loader 2.下载两个包,很重要。 引入Blob.js和expor2Excal.js 不用直接导入。自动匹配吧(大概) 3. 导入 <!-- // 导入 --> <el-upload class="upload-demo" action="" .

qq_42876444的博客 1220
上一篇: jquery validate 的自定义验证开始时间不能大于结束时间
下一篇: 一个给 Java 程序员用的 Api 文档生成工具
CapsLockWY
博客等级 码龄9年 9粉丝 5原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值