当前位置:首页>Excel>SpringBoot + EasyExcel 导出文件,太香了!

SpringBoot + EasyExcel 导出文件,太香了!

  • 2026-06-29 17:41:02
SpringBoot + EasyExcel 导出文件,太香了!
推荐关注
顶级架构师后台回复 1024 有特别礼包
来源:架构师指南
链接:juejin.cn/post/7509398334688460812

上一篇:Docker 容器网络配置详解

大家好,我是顶级架构师。

  • 一、先给项目把 EasyExcel 的 "脉"—— 环境整合篇
    • 1.引入依赖:别让 Maven 耍小脾气
    • 2.创建实体类:给数据贴 "xxx"
    • 3.编写导出工具类:把重复工作打包成 "瑞士军刀"
  • 二、实战演练:从 "普通导出" 到 "花里胡哨" 的需求突围
    • 1.基础导出:先搞定 "刚需"
    • 2.复杂表头:当领导突然说 "再加一层分类"
    • 3.合并单元格:玩一把 "Excel 拼图游戏"
    • 4.自定义格式:让数据 "穿上漂亮衣服"
    • 5.大数据量导出:别让内存 "撑破肚皮"
  • 三、避坑指南:这些 "暗礁" 别踩
    • 1.依赖冲突:当 Maven 开始 "闹别扭"
    • 2.注解优先级:别让 "标签" 打架
    • 3.样式设置:别把 Excel 变成 "花脸猫"
  • 四、总结:从 "被 Excel 支配" 到 "掌控导出自由"

还记得刚入行时,一听到 "Excel 导出" 就条件反射地冒冷汗 ——POI 那套 API 跟迷宫似的,CellStyle 能把人调得眼冒金星,大数据量导出时内存飙到 90% 的恐惧至今难忘。直到去年被产品经理逼到墙角时,发现了 Alibaba 的 EasyExcel,从此打开新世界的大门。

今天就把这套 "导出救命锦囊" 分享给大家,顺便穿插点当年踩坑的段子,让咱们在笑声中搞定 Excel 导出。

一、先给项目把 EasyExcel 的 "脉"—— 环境整合篇

1. 引入依赖:别让 Maven 耍小脾气

首先在pom.xml里加依赖,这里得注意版本兼容性。我曾试过用最新版 EasyExcel 配老 Spring Boot,结果像小孩打架似的报错不断。建议直接抄作业:

<dependency>    <groupId>com.alibaba</groupId>    <artifactId>easyexcel</artifactId>    <version>3.1.2</version></dependency><dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-web</artifactId></dependency>

加完记得刷新 Maven,这玩意儿有时候像闹情绪的女朋友,得哄着来。

2. 创建实体类:给数据贴 "xxx"

咱得先定义 Excel 里每一列的数据结构,就像给每个字段发一张 "座位牌"。比如导出用户信息:

@Datapublic class UserExcelVO {    // 这里是表头名称,宽度设置成20,就像给单元格定制合适的衣服尺码    @ExcelProperty(value = "用户ID", index = 0)    private Long userId;    // 用转换器把日期变成"yyyy-MM-dd"格式,不然Excel会显示成奇怪的数字    @ExcelProperty(value = "注册时间", index = 1)    @DateTimeFormat("yyyy-MM-dd")    private Date registerTime;    // 自定义转换器,把性别0/1转成"男""女",不然产品经理会追着你改需求    @ExcelProperty(value = "性别", index = 2)    @Converter(SexConverter.class)    private Integer sex;}

这里的@ExcelProperty就像给数据贴标签,index是列顺序,可别标错号,不然数据错位时你会怀疑人生 —— 我曾把金额和年龄的位置搞反,被财务小姐姐骂得狗血淋头。

3. 编写导出工具类:把重复工作打包成 "瑞士军刀"

把通用导出逻辑封装起来,以后每次导出就像拧瓶盖一样简单。创建EasyExcelUtils

public class EasyExcelUtils {    public static <T> void exportExcel(HttpServletResponse response,                                       List<T> dataList,                                       Class<T> clazz,                                       String fileName) throws IOException {        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");        response.setCharacterEncoding("utf-8");        // 文件名得处理中文,不然下载下来是乱码,别问我怎么知道的(摸了摸头上的包)        fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\+""%20");        response.setHeader("Content-disposition""attachment;filename*=utf-8''" + fileName + ".xlsx");        // 这里用EasyExcel.write()就像启动一个Excel生成器,简单到让我怀疑人生        EasyExcel.write(response.getOutputStream(), clazz)                .sheet("数据报表")                .doWrite(dataList);    }}

从此告别每次导出都写重复代码的日子,就像有了自动咖啡机,再也不用手动磨豆子了。

二、实战演练:从 "普通导出" 到 "花里胡哨" 的需求突围

1. 基础导出:先搞定 "刚需"

在 Controller 里调用工具类,就像把食材放进微波炉:

@GetMapping("/exportUser")public void exportUser(HttpServletResponse response) throws IOException {    List<UserExcelVO> dataList = userService.getUserListForExport(); // 假设这是从数据库查的数据    EasyExcelUtils.exportExcel(response, dataList, UserExcelVO.class, "用户信息表");}

第一次跑通时,我对着屏幕傻笑了三分钟 —— 七年了,终于不用跟 POI 的 N 个参数较劲了!

2. 复杂表头:当领导突然说 "再加一层分类"

有时候表头需要多级结构,比如 "用户信息" 下分 "基本信息"" 联系方式 "。这时候需要用@ExcelProperty的数组形式:

@Datapublic class ComplexHeaderVO {    @ExcelProperty({"用户信息""用户ID"})    private Long userId;    @ExcelProperty({"用户信息""姓名"})    private String userName;    @ExcelProperty({"联系方式""手机号"})    private String phone;    @ExcelProperty({"联系方式""邮箱"})    private String email;}

看着生成的两层表头,突然想起当年被产品经理临时加需求的夜晚,而现在,EasyExcel 让我能优雅应对,甚至想主动问:"还有什么花样?爸爸接得住!"

3. 合并单元格:玩一把 "Excel 拼图游戏"

比如导出报表时需要合并相同内容的单元格,这时候得自定义CellWriteHandler。举个例子,合并连续相同的部门名称:

public class MergeCellHandler implements CellWriteHandler {    @Override    public void afterCellDispose(CellWriteHandlerContext context) {        // 这里省略具体实现,核心是通过行号和列号判断是否合并        // 就像拼拼图,找到相同的部分粘在一起    }}

在导出时注册这个处理器:

EasyExcel.write(...)    .registerWriteHandler(new MergeCellHandler())    .doWrite(...);

第一次实现合并单元格时,我兴奋地在工位上哼起了《爱拼才会赢》,毕竟以前用 POI 写合并代码能写满两屏,现在轻松多了。

4. 自定义格式:让数据 "穿上漂亮衣服"

比如金额需要显示成 "¥1,000.00",日期要显示成 "2025 年 5 月 29 日"。除了前面提到的@DateTimeFormat,数值格式可以用@NumberFormat

@ExcelProperty("金额")@NumberFormat("#,##0.00")private Double amount;

看着导出的规范格式,突然想起当年因为金额格式不对被财务打回 13 次的惨案,现在终于能扬眉吐气了。

5. 大数据量导出:别让内存 "撑破肚皮"

当数据量超过 10 万条时,直接导出会把内存撑爆,这时候得用流式处理。EasyExcel 贴心地支持分页导出,每次查 1000 条,分批次写入:

EasyExcel.write(response.getOutputStream(), UserExcelVO.class)    .sheet("大数据报表")    .registerWriteHandler(...) // 可选的样式处理器    .doWrite(new AnalysisContext() -> {        // 这里每次调用获取一页数据,直到没有数据为止        List<UserExcelVO> pageData = userService.getPageData(analysisContext.readRowHolder().getRowIndex());return pageData;    });

记得当年用 POI 导出 20 万条数据,服务器直接内存溢出,被运维大哥拎着键盘来问罪,现在有了流式处理,再也不怕大数据量了。

三、避坑指南:这些 "暗礁" 别踩

1. 依赖冲突:当 Maven 开始 "闹别扭"

如果引入了旧版 POI 依赖,可能会和 EasyExcel 的 POI 版本冲突。这时候别慌,用mvn dependency:tree命令排查,然后在pom.xml里用排除冲突项,就像哄孩子一样,把捣乱的依赖赶走。

2. 注解优先级:别让 "标签" 打架

@ExcelProperty可以写在字段上或方法上,建议统一写在字段上,不然容易混乱。我曾在一个类里混合使用,结果导出时字段顺序乱成一锅粥,debug 了两小时才发现问题。

3. 样式设置:别把 Excel 变成 "花脸猫"

虽然 EasyExcel 支持自定义样式,但别过度使用,比如给每个单元格设置不同颜色,导出的 Excel 可能打不开。样式设置要适度,就像化妆,自然美才是真的美。

四、总结:从 "被 Excel 支配" 到 "掌控导出自由"

折腾了七年 Excel 导出,从 POI 的磕磕绊绊到 EasyExcel 的丝滑体验,不得不感叹开源工具的伟大。现在每次接到导出需求,我都能淡定地说:"放马过来吧,不管是复杂表头、大数据量还是格式要求,咱这工具都能搞定。"

最后送大家一句口诀:EasyExcel 真的妙,注解一标数据跳,工具类里封装好,导出从此没烦恼。复杂需求别害怕,处理器来把忙帮,踩过的坑我来扛,各位兄弟放心上!

如果你在整合过程中遇到什么奇怪的问题,欢迎留言交流 —— 毕竟我这七年攒了一箩筐的导出故事,咱们慢慢唠。现在,打开你的 IDE,试试用 EasyExcel 导出第一份数据吧,相信我,你会爱上这种轻松的感觉!

欢迎大家进行观点的探讨和碰撞,各抒己见。如果你有疑问,也可以找我沟通和交流。扩展:接私活儿

最后给读者整理了一份BAT大厂面试真题,需要的可扫码回复“面试题”即可获取。

公众号后台回复 架构 或者 架构整洁 有惊喜礼包!
顶级架构师交流群

「顶级架构师」建立了读者架构师交流群,大家可以添加小编微信进行加群。欢迎有想法、乐于分享的朋友们一起交流学习。

扫描添加好友邀你进架构师群,加我时注明姓名+公司+职位】

版权申明:内容来源网络,版权归原作者所有。如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。

猜你还想看

推荐一套开源通用后台管理系统(附源码)

牛逼啊!接私活必备的 N 个开源项目!赶快收藏吧(附源码合集第二期)!

看看人家那 IM 即时通讯系统,那叫一个优雅(附源码)

面试官:生成订单30分钟未支付,则自动取消,该怎么实现?

阿里技术专家:一文教你高效画出技术架构图

新一代项目管理系统,全行业覆盖的一站式项目协作工具!

架构师流程引擎的架构设计

一款面向个人的轻量级笔记系统,个人安全、可扩展的知识库!

面试官:什么是脚手架?为什么需要脚手架?常用的脚手架有哪些?

我已经不用 try catch 处理异常!太酸菜了!

MES管理系统,最值得信赖的新一代工厂管家!

ES+Redis+MySQL,这个高可用架构设计太顶了!

最近面试BAT,整理一份面试资料Java面试BAT通关手册,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 手册 领取,更多内容陆续奉上。
明天见(。・ω・。)

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-01 20:52:24 HTTP/2.0 GET : https://h.sjds.net/a/530143.html
  2. 运行时间 : 0.137730s [ 吞吐率:7.26req/s ] 内存消耗:4,271.36kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=672c4fc3531bbd26b406e7f02ea9e020
  1. /yingpanguazai/ssd/ssd1/www/h.sjds.net/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/h.sjds.net/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/h.sjds.net/runtime/temp/ad153693ed39fba6d1bda2fe72512cde.php ( 12.06 KB )
  140. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000888s ] mysql:host=127.0.0.1;port=3306;dbname=h_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001552s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000732s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000676s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001246s ]
  6. SELECT * FROM `set` [ RunTime:0.000656s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001492s ]
  8. SELECT * FROM `article` WHERE `id` = 530143 LIMIT 1 [ RunTime:0.001045s ]
  9. UPDATE `article` SET `lasttime` = 1782910344 WHERE `id` = 530143 [ RunTime:0.007880s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000607s ]
  11. SELECT * FROM `article` WHERE `id` < 530143 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001031s ]
  12. SELECT * FROM `article` WHERE `id` > 530143 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000920s ]
  13. SELECT * FROM `article` WHERE `id` < 530143 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003158s ]
  14. SELECT * FROM `article` WHERE `id` < 530143 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.007208s ]
  15. SELECT * FROM `article` WHERE `id` < 530143 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.019423s ]
0.141505s