当前位置:首页>Excel>10 个 Excel 工作表合并成 1 个,我用 30 行 Python 搞定,AI教会我使用工具

10 个 Excel 工作表合并成 1 个,我用 30 行 Python 搞定,AI教会我使用工具

  • 2026-08-11 01:57:32
10 个 Excel 工作表合并成 1 个,我用 30 行 Python 搞定,AI教会我使用工具

昨天碰到了一个关于扫描图片转 Excel 表格合并工作表的问题,我把拍下来的 10 张照片交给了豆包、千问、元宝,结果出错率太高,识别率太低,有 50% 的数据对不起来。我又把这 10 张照片交给了 Workbody,结果还是同样的问题。最后没办法,我就把这 10 张照片交给了手机上珍藏已久的汉王扫描王,他成功地把图片转成了Excel表格,出现了新的问题,它转成了 10 个表格,我需要把这 10 个表格合成一个表格。我觉得把这个工作交给 Work Buddy,应该能够轻松解决。果然不出所望,它把这几个表格合在了一起。

然后我就问 Workbody 的工作过程是什么?它是怎么实现的?它告诉我它是用 Python,并且给了我一些 Python 代码。

我又问 workbuddy 有没有 VBA 版的,假如我的电脑上没有 Python 环境呢?

然后他又给我生成了一些VBA代码。

我又问我的 body,我的电脑上没有 Python 环境,没有 VBA,那我应该怎么实现这个功能呢?

它就给我生成了一个 HTML 格式的网页版工具。

来看看我遇到的问题吧,我的需求很简单:就把这 10 个表合并成一个。

如果手动复制粘贴,10 个表、500 多行数据,累不说还容易出错。这种重复活儿,正是 Python 最擅长的事。下面把整个过程分享出来,下次遇到同类问题你能直接套用。

先看看数据长什么样

10 个工作表,命名为 Sheet1-1 到 Sheet10-1,结构完全一致:

  • 第 1 行是表头,7 列字段
  • 第 2 行起是数据
  • 9 个表各 54 行,1 个表 48 行
  • 合计约 524 条数据

既然结构相同,合并思路就很清晰:表头只保留一次,数据纵向堆叠

工具选择:openpyxl

操作 .xlsx 文件,Python 生态里最顺手的库就是 openpyxl。它的好处是:

  • 纯 Python 实现,不需要电脑上装 Excel
  • 能同时读写单元格的值和样式
  • 安装简单:pip install openpyxl

5 步搞定合并

"这些代码我自己写不出来——我只是把需求说给 AI,它给我搭好了架子,我改改路径就能跑。"

整个流程可以拆成 5 步:

第 1 步 读取源文件 → 第 2 步 创建新工作簿 → 第 3 步 写一次表头 → 第 4 步 纵向堆叠数据 → 第 5 步 保存

核心代码如下,不到 30 行:

import openpyxlsrc = '你的文件夹路径'print(f"📂 读取源文件: {src}")# 1. 读取源文件wb_src = openpyxl.load_workbook(src, data_only=True)sheets = wb_src.sheetnamesprint(f"📋 工作表数量: {len(sheets)}")print(f"📋 工作表名称: {sheets}")# 2. 创建新工作簿wb_out = openpyxl.Workbook()ws_out = wb_out.activews_out.title = '合并结果'# 3. 写一次表头(取自第一个表)ws1 = wb_src[sheets[0]]ncol = ws1.max_columnfor c in range(1, ncol + 1):    ws_out.cell(1, c, ws1.cell(1, c).value)print(f"📝 表头复制完成,共 {ncol} 列")# 4. 纵向堆叠所有数据out_row = 2total_rows = 0for name in sheets:    ws = wb_src[name]    row_count = 0    for r in range(2, ws.max_row + 1):        vals = [ws.cell(r, c).value for c in range(1, ncol + 1)]        if all(v is None for v in vals):            continue        for c in range(1, ncol + 1):            ws_out.cell(out_row, c, vals[c - 1])        out_row += 1        row_count += 1    total_rows += row_count    print(f"   - 工作表 '{name}': {row_count} 行数据")print(f"📊 共合并 {total_rows} 行数据")# 5. 保存out = 'D:/Desktop/合并结果.xlsx'wb_out.save(out)print(f"✅ 完成!文件已保存到: {out}")

避坑指南:扫描数据的 3 个坑

这份文件来自扫描识别,实际处理中我踩了几个坑,提前告诉你:

坑 1 数字变字符串

OCR 把一些数字识别成了带空格的字符串,比如 21.78 变成了 '21. 78'。这种值无法直接求和,需要额外清洗。我这次选择原样保留,保证数据可追溯。

坑 2 表头笔误

有个表的表头把「综合奖励」识别成了「综合奖励。」(多了个句号)。因为只取第一个表的表头,这个笔误被自然规避了。

坑 3 行数不一致

10 个表里 9 个是 54 行、1 个是 48 行。代码用 ws.max_row 动态读取每个表的实际行数,不用写死,自动适配。

最终结果

一键运行,几秒钟就生成了合并后的文件:

项目
数值
源工作表数
10 个
合并后总行数
525 行(1 表头 + 524 数据)
工号唯一性
524 个全部唯一,无重复
附加处理
冻结首行、边框居中

附:VBA 实现(不想装 Python 也能用)

有朋友可能说:我电脑上没装 Python,也不想折腾环境,怎么办?没关系,Excel 自带的 VBA 同样能干这事,思路完全一样,只是写法换成 Excel 原生的「对象 + 区域」风格。

使用方法:打开 Excel,按 Alt + F11 打开 VBA 编辑器 →「插入」→「模块」→ 粘贴下面代码 → 按 F5 运行。

Sub 合并Excel工作表()    Dim srcPath As String, outPath As String    Dim wbSrc As Workbook, wbOut As Workbook    Dim wsSrc As Worksheet, wsOut As Worksheet    Dim sheets As Sheets    Dim sheetName As Variant    Dim srcRow As Long, srcCol As Long, ncol As Long    Dim outRow As Long, totalRows As Long    Dim vals As Variant    Dim i As Long    ' 1. 选择源文件    Dim fd As FileDialog    Set fd = Application.FileDialog(msoFileDialogOpen)    fd.Title = "选择要合并的 Excel 文件"    fd.Filters.Clear    fd.Filters.Add "Excel 文件", "*.xlsx"    If fd.Show = -1 Then        srcPath = fd.SelectedItems(1)    Else        MsgBox "未选择文件,程序退出", vbExclamation        Exit Sub    End If    ' 2. 选择保存位置    Set fd = Application.FileDialog(msoFileDialogSaveAs)    fd.Title = "保存合并结果为"    fd.FileName = "合并结果.xlsx"    fd.FilterIndex = 1    If fd.Show = -1 Then        outPath = fd.SelectedItems(1)    Else        MsgBox "未选择保存位置,程序退出", vbExclamation        Exit Sub    End If    ' 3. 打开源文件    Set wbSrc = Workbooks.Open(srcPath)    Set sheets = wbSrc.Sheets    ' 4. 创建新工作簿    Set wbOut = Workbooks.Add    Set wsOut = wbOut.Sheets(1)    wsOut.Name = "合并结果"    ' 5. 复制表头(从第一个工作表)    Set wsSrc = sheets(1)    ncol = wsSrc.Cells(1, wsSrc.Columns.Count).End(xlToLeft).Column    For i = 1 To ncol        wsOut.Cells(1, i).Value = wsSrc.Cells(1, i).Value    Next i    outRow = 2    totalRows = 0    ' 6. 纵向堆叠所有工作表数据    For Each sheetName In sheets        Set wsSrc = sheets(sheetName.Name)        srcRow = 2        Do While wsSrc.Cells(srcRow, 1).Value <> ""            ' 检查是否整行都为空            Dim isEmpty As Boolean            isEmpty = True            For i = 1 To ncol                If wsSrc.Cells(srcRow, i).Value <> "" Then                    isEmpty = False                    Exit For                End If            Next i            ' 复制非空行            If Not isEmpty Then                For i = 1 To ncol                    wsOut.Cells(outRow, i).Value = wsSrc.Cells(srcRow, i).Value                Next i                outRow = outRow + 1                totalRows = totalRows + 1            End If            srcRow = srcRow + 1        Loop        Application.StatusBar = "已处理工作表: " & sheetName.Name    Next sheetName    ' 7. 保存并关闭    wbOut.SaveAs outPath    wbSrc.Close SaveChanges:=False    Application.StatusBar = False    MsgBox "✅ 合并完成!" & vbCrLf & "共合并 " & totalRows & " 行数据" & vbCrLf & "文件已保存到: " & outPath, vbInformationEnd Sub

VBA 版有个聪明的地方:它用 Range.Copy 整块复制,而不是逐格搬运,速度比 Python 逐单元格读写更快。找最后一行用 Cells(Rows.Count,1).End(xlUp),从 A 列最底下往上找第一个非空行,天然跳过尾部空行。

Python vs VBA,怎么选?

同样的需求,两种实现放一起对照,思路一致、风格迥异:

环节
Python (openpyxl)
VBA
读取源文件
load_workbook(src)
直接操作 ThisWorkbook
建新表
Workbook() + active
Sheets.Add() + .Name
写表头
逐格 cell(1,c,值)
整块 Copy + PasteSpecial
找最后一行
ws.max_row
End(xlUp).Row
堆数据
双层循环逐格写
整块区域复制粘贴
跳过表头
循环从第 2 行开始
从 Cells(2,1) 开始复制
保存
wb.save(out)
即时生效,Ctrl+S 即可

两种方式的本质区别:

Python 是「逐格搬运」:用两层循环一个单元格一个单元格地读写,逻辑直白、跨平台,方便嵌入更大的数据处理流程,但数据量极大时偏慢。

VBA 是「整块搬运」:用 Range 一次性复制一整片区域,速度更快、更贴近 Excel 使用直觉,代价是离不开 Office 环境。

怎么选?

· 只在 Excel 里用、图省事 → VBA(不用装任何东西)· 要批量处理、对接数据库、做后续分析 → Python(扩展性更强)· 两者思路完全一致,学会一种,另一种看注释就能懂

进阶:把功能做成网页工具(不用写代码)

Python 和 VBA 都能解决问题,但前提是「会用代码」。我还想要一个能双击打开、拖个表进去就出结果的工具。我把这套逻辑做成了一个单文件网页,存成 .html,发给谁都能用,微信里也能发链接。

用法只有三步:

① 拖文件 把 Excel 拖进网页的虚线框,或点一下选择文件。

② 勾选项 选合并方式:去空格清洗、跳过空行、表头只留一次、加来源列。

③ 点合并 几秒出结果,预览后下载;下载时还能改文件名、选 .xlsx / .xls / .csv / .et 格式。

它的几个特点,正好补上了脚本的短板:

零安装零部署:一个文件双击就用,不装 Python、不装 Office。

数据不上传:纯前端运行,Excel 文件不离开你的浏览器。

手机也能用:界面做了响应式,手机浏览器打开不挤。

微信能发链接:部署成网址后,丢到群里别人点开就用。

"所以你看,不懂代码也能办公自动化。关键不是你会不会写,是你会不会问 AI。"

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-11 18:05:11 HTTP/2.0 GET : https://h.sjds.net/a/546293.html
  2. 运行时间 : 0.231893s [ 吞吐率:4.31req/s ] 内存消耗:4,282.98kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=19371f207fa46077f707a6b61b35a895
  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.000988s ] mysql:host=127.0.0.1;port=3306;dbname=h_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001502s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000715s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000635s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001307s ]
  6. SELECT * FROM `set` [ RunTime:0.000538s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001476s ]
  8. SELECT * FROM `article` WHERE `id` = 546293 LIMIT 1 [ RunTime:0.001134s ]
  9. UPDATE `article` SET `lasttime` = 1786442711 WHERE `id` = 546293 [ RunTime:0.016700s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.014440s ]
  11. SELECT * FROM `article` WHERE `id` < 546293 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001342s ]
  12. SELECT * FROM `article` WHERE `id` > 546293 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001157s ]
  13. SELECT * FROM `article` WHERE `id` < 546293 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001793s ]
  14. SELECT * FROM `article` WHERE `id` < 546293 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.007481s ]
  15. SELECT * FROM `article` WHERE `id` < 546293 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.015574s ]
0.236476s