当前位置: 首页 > news >正文

alibaba.easyexcel导入导出

1. 导入

@OverridepublicvoidexportExcel(HttpServletResponseresponse,ShipAvailableInfoBObo)throwsIOException{List<ShipAvailableInfoExcel>list=getShipAvailableInfoExcels(bo);StringsheetName="船舶清单";StringfileName=String.format("%s-%s.xlsx",sheetName,DateUtil.formatDate2(newDate()));ExcelUtils.write(response,fileName,sheetName,ShipAvailableInfoExcel.class,com.xxxx.ics.framework.common.util.object.BeanUtils.toBean(list,ShipAvailableInfoExcel.class));}

2. 导出

@OverridepublicApiResultimportExcel(MultipartFilefile)throwsIOException{List<ShipAvailableInfoExcel>list=ExcelUtils.read(file,ShipAvailableInfoExcel.class);if(CollectionUtils.isEmpty(list)){returnApiResult.ok();}List<ShipAvailableInfo>insertList=getShipAvailableInfos(list);algShipMapper.insertBatch(insertList);returnApiResult.ok();}

3. ShipAvailableInfoExcel

@Schema(description="船舶信息表")@Data @ToString @NoArgsConstructor @Accessors(chain=false)// 👇 全局统一:表头 @HeadStyle(fillForegroundColor=-1, // Excel 颜色索引(40=浅蓝,51=浅绿,10=浅黄,可查POI颜色对照表) fillPatternType=FillPatternTypeEnum.DEFAULT, // 填充模式(实心) horizontalAlignment=HorizontalAlignmentEnum.CENTER, // 水平居中 verticalAlignment=VerticalAlignmentEnum.CENTER, // 垂直居中 wrapped=BooleanEnum.TRUE, // 自动换行 borderLeft=BorderStyleEnum.DEFAULT, // 左边框(1=实线) borderRight=BorderStyleEnum.DEFAULT, // 右边框 borderTop=BorderStyleEnum.DEFAULT, // 上边框 borderBottom=BorderStyleEnum.DEFAULT // 下边框)// 表头字体样式:加粗、字体大小14、字体颜色(白色) @HeadFontStyle(fontName="微软雅黑", // 字体 fontHeightInPoints=10, // 字号 bold=BooleanEnum.TRUE, // 加粗 color=8// 字体颜色(2=白色,8=黑色))// 👇 全局统一:内容 @ContentStyle(horizontalAlignment=HorizontalAlignmentEnum.CENTER, // 水平居中 verticalAlignment=VerticalAlignmentEnum.CENTER, // 垂直居中 wrapped=BooleanEnum.TRUE, // 自动换行 borderTop=BorderStyleEnum.THIN, // 上边框 borderBottom=BorderStyleEnum.THIN, // 下边框 borderLeft=BorderStyleEnum.THIN, // 左边框 borderRight=BorderStyleEnum.THIN // 右边框)@ContentFontStyle(fontName="微软雅黑", // 字体 fontHeightInPoints=10, // 字号 bold=BooleanEnum.FALSE, // 加粗 color=8// 字体颜色(2=白色,8=黑色))public class ShipAvailableInfoExcel{@ExcelIgnore private Integerid;@ExcelProperty(value="序号")private Integer sortIndex;@ExcelProperty(value="船名")private String shipName;@ColumnWidth(12)@ExcelProperty(value="MMSI")private String mmsi;// 自动换行 @ContentStyle(wrapped=BooleanEnum.TRUE)@ExcelProperty(value="所属公司")@ColumnWidth(18)private String company;// excel 中的月份和天会自动抹去0,采用 yyyy/M/格式 @ExcelProperty(value="变更时间")@DateTimeFormat("yyyy/M/d")@ColumnWidth(12)private Date updateTime;}
http://www.jsqmd.com/news/643092/

相关文章:

  • 大厂Java面试实录:微服务、数据库、缓存、消息队列与AI场景技术点全解
  • 2026年正规的武汉半包装修公司/武汉二手房装修公司高端装修榜 - 行业平台推荐
  • Java特殊类与类型转换实战指南,iOS 26 App 性能测试,新版系统下如何全面评估启动、渲染、资源、动画等指标。
  • 运维实战:OFA模型生产环境监控与维护
  • Qwen3-VL-8B真实体验:图片识别准确率实测,效果令人惊喜
  • TikTok数据抓取:破解风控的实战指南
  • 网桥是工作在**数据链路层**的网络互连设备,主要用于连接两个或多个局域网段,实现帧的转发和过滤
  • 别再死记硬背仲裁器了!用Verilog手搓一个AHB总线仲裁器(附固定/轮询两种实现源码)
  • STM32F103C8 + GY-NEO6MV2 GPS模块实战:从硬件连接到谷歌地图验证
  • 如何使用ai把唐诗300首的诗转成视频,保姆级教程
  • AI智能文档扫描仪参数详解:Canny边缘检测阈值调优技巧
  • STM32F103C8T6驱动BH1750光照传感器:从IIC时序到状态机实现的保姆级教程
  • 罗德与施瓦茨FSH8手持频谱网络分析仪
  • Rust 生命周期与所有权详解
  • 2026年评价高的精密铝合金压铸/铝合金压铸制品/铝合金/东莞铝合金压铸源头工厂推荐 - 行业平台推荐
  • 避坑!这些毕设太好抄了,3000+毕设案例推荐第1056期
  • WTAPI:微信生态的技术引擎
  • 【2026奇点大会独家解码】:AIAgent图像生成的5大技术跃迁与3个落地陷阱
  • Depth Anything 3:以极简Transformer架构,从任意视图重建三维视觉空间
  • 每天留半小时“无聊时间”,孩子反而更专注
  • 推荐一些可以用于论文降重的软件:2026年爆款TOP5实测,这几款能将AIGC率降至5%!
  • 2026年热门的轻量化铝合金压铸/铝合金压铸配件定制/铝合金机械手臂配件/铝合金压铸OEM高口碑品牌推荐 - 品牌宣传支持者
  • 告别眨眼和心电干扰:用Python+MNE库实战EEG预处理全流程(含ICA去伪迹代码)
  • JianYingApi实战:构建高性能视频自动化处理系统的架构深度解析
  • MySQL Explain 计划缓存机制优化
  • 2026年靠谱的深圳发球机/网球发球机/网球学练馆发球机/专业训练发球机可靠供应商推荐 - 品牌宣传支持者
  • 黑色高靠背劳伦斯沙发推荐哪个工厂?
  • OpenClaw:真正能 “动手干活” 的 AI 智能体,重新定义本地 AI 生产力
  • 2026年质量好的精密锌合金压铸/锌合金锁具配件/东莞锌合金箱包配件推荐品牌厂家 - 行业平台推荐
  • 2026年口碑好的深圳家用网球发球机/新手入门发球机/网球学练馆发球机多家厂家对比分析 - 行业平台推荐