hutool ExcelUtil 导出导入excel
引入依赖
<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.15</version></dependency>
文件导入
public void savelist(String filepath,String keyname){ExcelReader reader = ExcelUtil.getReader(FileUtil.file(filepath), 0);List<Map<String, Object>> sheetRowsMap = reader.readAll();String host = "192.168.1.80";int port = 6379;Jedis jedis = new Jedis(host, port);for (Map<String, Object> stringObjectMap : sheetRowsMap) {TemplateVo vo = JwfsStdPopRealPopNewTemplateVo.builder().addressDetail(String.valueOf(stringObjectMap.get("户籍地址(校验后)"))).popName(String.valueOf(stringObjectMap.get("姓名"))).popPhone(String.valueOf(stringObjectMap.get("电话"))).build();log.info(vo);}}
文件导出
public static void export(List<JwfsStdPopRealPopNewTemplateVo> data, String path, String fileName, JwfsStdPopRealPopNewTemplateVo excelData) throws IOException {log.info("开始导出");ExcelWriter writer = ExcelUtil.getWriter();List<Map> fieldAnnotation = getFieldAnnotation(excelData);for(Map<String,String> map:fieldAnnotation){for(String key:map.keySet()){String value = map.get(key);writer.addHeaderAlias(key,value);}}//第1列40px宽//writer.setColumnWidth(0, 40);//第2列15px 宽//writer.setColumnWidth(1, 15);//对齐方式,水平左对齐,垂直中间对齐writer.getStyleSet().setAlign(HorizontalAlignment.LEFT, VerticalAlignment.CENTER);//标题样式CellStyle headCellStyle = writer.getHeadCellStyle();//设置背景色headCellStyle.setFillForegroundColor(IndexedColors.WHITE1.getIndex());//必须设置 否则背景色不生效headCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);//创建标题字体Font headFont = writer.createFont();headFont.setFontName("宋体");//大小headFont.setFontHeightInPoints((short) 11);//加粗headFont.setBold(true);headCellStyle.setFont(headFont);writer.setColumnWidth(-1, 30);writer.setRowHeight(-1,20);//保存路径FileOutputStream output = new FileOutputStream(path+fileName+".xls");// 一次性写出内容writer.write(data);//自适应列宽int columnCount = writer.getColumnCount();for (int i = 0; i < columnCount; ++i) {double width = SheetUtil.getColumnWidth(writer.getSheet(), i, false);if (width != -1.0D) {width *= 256.0D;//此处可以适当调整,调整列空白处宽度width += 220D;writer.setColumnWidth(i, Math.toIntExact(Math.round(width / 256D)));}}writer.flush(output,true);// 关闭writer,释放内存writer.close();}JwfsStdPopRealPopNewTemplateVo jwfsStdPopRealPopNewTemplateVo = JwfsStdPopRealPopNewTemplateVo.builder().build();export(list,"C:\\Users\\Administrator\\Desktop\\1\\",filename,jwfsStdPopRealPopNewTemplateVo);
相关文章:
hutool ExcelUtil 导出导入excel
引入依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.15</version></dependency>文件导入 public void savelist(String filepath,String keyname){ExcelReader reader Exce…...
打卡第7天-----哈希表
继续坚持✊,我现在看到leetcode上的题不再没有思路了,真的是思路决定出路,在做题之前一定要把思路梳理清楚。 一、四数相加 leetcode题目编号:第454题.四数相加II 题目描述: 给定四个包含整数的数组列表 A , B , C , …...
【Linux】WEB网站网络防火墙(WAF软件)Fail2ban:保护服务器免受恶意攻击的必备工具
随着互联网的迅速发展,服务器的安全性日益成为用户和管理员关注的焦点。恶意攻击者不断寻找机会侵入服务器,窃取敏感信息、破坏数据或者滥用系统资源。为了抵御这些威胁,许多安全工具应运而生,其中一款备受推崇的工具就是 Fail2ba…...
妙笔生词智能写歌词软件:创新助力还是艺术之殇?
在音乐创作日益普及和多样化的当下,各种辅助工具层出不穷,妙笔生词智能写歌词软件便是其中之一。那么,它到底表现如何呢? 妙笔生词智能写歌词软件(veve522)的突出优点在于其便捷性和高效性。对于那些灵感稍…...
力扣hot100-普通数组
文章目录 题目:最大子数组和方法1 动态规划方法2 题目:合并区间题解 题目:轮转数组方法1-使用额外的数组方法2-三次反转数组 题目:除自身以外数组的乘积方法1-用到了除法方法2-前后缀乘积法 题目:最大子数组和 原题链…...
深入浅出Transformer:大语言模型的核心技术
引言 随着自然语言处理(NLP)领域的不断发展,Transformer模型逐渐成为现代大语言模型的核心技术。无论是BERT、GPT系列,还是最近的T5和Transformer-XL,这些模型的背后都离不开Transformer架构。本文将详细介绍Transfor…...
MacOS隐藏文件打开指南
MacOS隐藏文件打开指南 方法一: 直接按下键盘上的【commandshift.】,这时候就可以在mac系统中就会自动显示隐藏的文件夹了 方法二: 在终端查看 ls -la...
grafana数据展示
目录 一、安装步骤 二、如何添加喜欢的界面 三、自动添加注册客户端主机 一、安装步骤 启动成功后 可以查看端口3000是否启动 如果启动了就在浏览器输入IP地址:3000 账号密码默认是admin 然后点击 log in 第一次会让你修改密码 根据自定义密码然后就能登录到界面…...
53-4 内网代理6 - frp搭建三层代理
前提:53-3 内网代理5 - frp搭建二级代理-CSDN博客 三级网络代理 在办公区入侵后,发现需要进一步渗透核心区网络(192.168.60.0/24),并登录域控制器的远程桌面。使用FRP在EDMZ区、办公区与核心区之间建立三级网络的SOCKS5代理,以便访问核心区的域控制器。 VPS上的FRP服…...
SQLite 命令行客户端 + HTA 实现简易UI
SQLite 命令行客户端 HTA 实现简易UI SQLite 客户端.hta目录结构参考资料 仅用于探索可行性,就只实现了 SELECT。 SQLite 客户端.hta <!DOCTYPE html> <html> <head><meta http-equiv"Content-Type" content"text/html; cha…...
TikTok小店推出“百万英镑俱乐部”,实力宠卖家!
TikTok Shop近期在英国市场重磅推出了“百万英镑俱乐部”激励计划,这一举措旨在通过一系列诱人福利,助力商家在TikTok平台上实现销售飞跃。该计划不仅彰显了TikTok Shop对于商家成长的深切关怀,更以实际行动诠释了“实力宠卖家”的承诺。 我…...
路径规划 | 基于蚁群算法的三维无人机航迹规划(Matlab)
目录 效果一览基本介绍程序设计参考文献 效果一览 基本介绍 基于蚁群算法的三维无人机航迹规划(Matlab)。 蚁群算法(Ant Colony Optimization,ACO)是一种模拟蚂蚁觅食行为的启发式算法。该算法通过模拟蚂蚁在寻找食物时…...
.Net C#执行JavaScript脚本
文章目录 前言一、安装二、执行 JavaScript 脚本三、与脚本交互四、JS 调用 C# 方法五、多线程使用总结 前言 ClearScript 是一个 .NET 平台下的开源库,用于在 C# 和其他 .NET 语言中执行脚本代码。它提供了一种方便和安全的方法来将脚本与应用程序集成,…...
企业应对策略:全面防御.DevicData-P-xxxxxx勒索病毒
引言 在数字化时代,网络安全已成为不可忽视的重要议题。随着互联网的普及,各种网络威胁层出不穷,其中勒索病毒以其独特的攻击方式和巨大的破坏性,给个人用户和企业带来了严重的经济损失和数据安全风险。在众多勒索病毒中ÿ…...
记一次mysql导出到达梦数据库
DM8管理工具 DM管理工具(官方)DBeaver - jdbc驱动 MySql迁移到DM8 使用官方DM数据迁移工具 新建迁移工程选择MySQL>DM填写mysql连接信息、添加dm连接信息执行 DM8数据脚本制作过程 使用DM管理工具 导出全部:进入对应模式>表>选…...
2024年高压电工证考试题库及高压电工试题解析
题库来源:安全生产模拟考试一点通公众号小程序 2024年高压电工证考试题库及高压电工试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人员上岗证考试大纲随机出的高压…...
完美解决ImportError: cannot import name ‘idnadata‘的正确解决方法,亲测有效!!!
完美解决ImportError: cannot import name idnadata’的正确解决方法,亲测有效!!! 亲测有效 完美解决ImportError: cannot import name idnadata的正确解决方法,亲测有效!!!报错问题…...
完美解决windows开机时,系统提示此windows副本不是正版的正确解决方法,亲测有效!!!
完美解决windows开机时,系统提示此windows副本不是正版的正确解决方法,亲测有效!!! 亲测有效 完美解决windows开机时,系统提示此windows副本不是正版的正确解决方法,亲测有效!&#…...
树莓派采集系统
树莓派(Raspberry Pi)是一款非常受欢迎的小型单板计算机,因其低成本、低功耗以及丰富的I/O接口,非常适合用来搭建数据采集系统。无论是环境监测、智能家居、工业自动化,还是科学实验,树莓派都能胜任。以下是…...
ListView
效果图 1、在activity_main.xml中创建ListView,再创建list_item.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match…...
构筑数字韧性:从零信任到内生安全,打造面向未来的数字基础设施
1. 从一篇行业评论引发的深度思考:我们该如何构筑数字时代的“安全地基”?前几天,行业媒体EE Times上的一篇旧文被重新翻了出来,标题挺抓人眼球,大致是在讨论某个国家在关键技术领域的主导地位是否面临挑战。抛开其中地…...
AI安全自动化测试:FuzzyAI模糊测试框架实战指南
1. 项目概述:当AI安全遇上自动化“模糊测试” 在大型语言模型(LLM)如ChatGPT、Claude、Gemini等日益普及的今天,我们享受其强大能力的同时,也面临着一个严峻的挑战:如何确保它们的安全与可控?你…...
Claude Code环境变量配置全解析:从入门到精通
1. 项目概述:Claude Code 环境变量配置生成器如果你和我一样,是 Claude Code 的深度用户,那你一定经历过这样的时刻:面对一个复杂的开发任务,想调整一下模型的思考深度(Effort Level)来平衡成本…...
Resolink MCP:基于MCP协议与Playwright的AI浏览器自动化实践
1. 项目概述:当AI助手学会“动手”——Resolink MCP的浏览器自动化革命如果你和我一样,每天在Cursor、Claude这类AI编程助手的陪伴下写代码,那你一定遇到过这样的场景:你正和AI热烈讨论一个技术方案,突然需要去浏览器里…...
喜马拉雅音频离线收藏:这款跨平台下载器如何帮你永久保存付费内容?
喜马拉雅音频离线收藏:这款跨平台下载器如何帮你永久保存付费内容? 【免费下载链接】xmly-downloader-qt5 喜马拉雅FM专辑下载器. 支持VIP与付费专辑. 使用GoQt5编写(Not Qt Binding). 项目地址: https://gitcode.com/gh_mirrors/xm/xmly-downloader-q…...
BioClaw:基于自然语言对话的生物信息学智能分析平台
1. 项目概述:BioClaw,一个能聊天的生物信息学工具箱 如果你是一名生物医学领域的研究者,我猜你对下面这个场景一定不陌生:你刚拿到一批测序数据,需要先跑个FastQC看看质量;同时,实验室的师弟在…...
Nodejs后端服务如何稳定调用Claude并避免封号风险
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Nodejs后端服务如何稳定调用Claude并避免封号风险 1. 后端集成Claude的常见挑战 在Node.js后端服务中集成Claude模型,…...
Cursor Pro免费升级完整指南:3分钟突破使用限制的实用教程
Cursor Pro免费升级完整指南:3分钟突破使用限制的实用教程 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your…...
关于岐金兰AI元人文构想与江畅《论道德真理》之关系的理论说明
关于岐金兰AI元人文构想与江畅《论道德真理》之关系的理论说明——致敬江畅教授,并申明独立研究的道路岐金兰2026年5月12日一、相遇:迟到的阅读,及时的对话2026年3月11日,我在一个偶然的学术检索中读到了江畅教授的《论道德真理》…...
从RIPv2到RIPng:IPv6时代路由协议的演进与实战部署
1. 从RIPv2到RIPng:为什么IPv6需要新的路由协议? 第一次在实验室配置RIPv2时,我盯着那些IPv4地址看了整整三天。直到某天客户突然要求支持IPv6,才发现这个诞生于1988年的老协议已经跟不上时代——就像用传呼机收发4K视频ÿ…...
