跳到内容
当前位置:首页>Excel>2026年9月28日:13个Excel VBA自动化秘籍附代码

2026年9月28日:13个Excel VBA自动化秘籍附代码

  • 2026-11-06 15:29:43
2026年9月28日:13个Excel VBA自动化秘籍附代码
     Excel高手绝不外传的13个VBA自动化秘籍(附完整代码),效率飙升; 

Excel高手绝不外传的13个VBA自动化秘籍(附完整代码),效率飙升

准时下班的秘密: 夜幕降临,同事陆续离开,你却被困在无尽的表格中,重复着机械的复制、筛选、汇总……这不是努力,这是对时间的浪费。真正的效率高手,早已用VBA写好了“准时下班”的程序。

本文将为你完整呈现13个经过实战检验的VBA核心技巧,不删减,只增补,并提供可立即套用的代码模块。从精准定位到错误处理,每一步都旨在将你从重复劳动中彻底解放。 一、筑基篇:动态思维的起点——精准定位数据边界 一切自动化始于“知道数据在哪”。手动选择是效率的第一道枷锁。 1. 动态获取数据范围的三大核心方法 Sub 获取动态范围() Dim ws As Worksheet Dim lastRow As Long, lastCol As Long Set ws = ThisWorkbook.Worksheets("    Sheet1"    ) '     替换为你的表名 '     方法1:黄金标准 - 获取A列最后一个非空单元格的行号 '     原理:从工作表最底部向上查找第一个有内容的单元格 lastRow = ws.Cells(ws.Rows.Count, "    A"    ).End(xlUp).Row Debug.Print "    A列最后有效行:"     &     lastRow '     方法2:获取表头行(通常第1行)最后一个非空列的列号 lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column Debug.Print "    表头最后有效列:"     &     lastCol '     方法3:获取工作表“已用区域”的最后一行(即使中间有空行) '     注意:UsedRange可能因格式残留而变大,通常与End(xlUp)结合使用 lastRow = ws.UsedRange.Rows.Count + ws.UsedRange.Row - 1 Debug.Print "    已用区域最后行:"     &     lastRow End Sub 高手点拨: 优先使用 End(xlUp),其运行速度最快,类似在Excel中按 Ctrl + ↑。 若数据中间确定有空行,且你需要包含空行以下的所有数据,可使用增强的 Find 方法: '     更健壮但稍慢的查找最后一行方法 lastRow = ws.Columns(“A”).Find(“”, LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 二、操控篇:像指挥家一样驾驭数据区域 知道范围后,如何高效操作? 2. 灵活选择与设定数据区域 Dim rng As Range Set rng = ws.Range(“A1”).Resize(lastRow, lastCol) ‘ 构建一个动态矩形区域 ‘ 遍历区域中每个单元格 For Each cell In rng ‘ 你的操作… Next cell 三、效率革命:告别“卡死”的循环与遍历 错误的循环方式会毁掉一切效率增益。 3. 为“For循环”装上涡轮增压 单元格对象操作是主要性能瓶颈。尽量减少对 Cells 或 Range 的 .Value 属性的直接、频繁访问。 ‘ 初级陷阱:逐行读写单元格(慢) For i = 1 To lastRow ws.Cells(i, 2).Value = ws.Cells(i, 1).Value * 2 Next i 四、查找匹配:VBA内置的“搜索引擎” 告别手动 Ctrl+F,让程序自动查找定位。 4. 比函数更灵活的查找技术 ‘ 精准查找,返回找到的第一个单元格对象 Dim foundCell As Range Set foundCell = ws.Columns(“A:A”).Find(What:=“目标值”, LookIn:=xlValues, LookAt:=xlWhole) If Not foundCell Is Nothing Then MsgBox “找到在单元格:” &     foundCell.Address End If 五、筛选与排序:一键整理海量数据 用代码固化你的数据清洗流程。 5. 自动筛选与多条件排序 ‘ 先取消可能的旧筛选 If ws.AutoFilterMode Then ws.AutoFilterMode = False ‘ 应用自动筛选 ws.Range(“A1:D” &     lastRow).AutoFilter Field:=2, Criteria1:=“>   100”, Operator:=xlAnd, Criteria2:=“<   200” ‘ 将筛选结果复制到新表 ws.Range(“A1:D” &     lastRow).SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets(“结果”).Range(“A1”) ‘ 清除筛选 ws.AutoFilterMode = False 六、性能飞跃:引爆处理速度的数组技术 这是从小白到高手的最关键一步。原理:将单元格数据一次性读入内存数组,在内存中处理,再一次性写回。 6. 数组处理:万行数据,秒级响应 Sub 数组极速处理() Dim dataArr As Variant Dim i As Long ‘ 一次性将A1到D列的最后一行的数据读入二维数组 dataArr = ws.Range(“A1:D” &     lastRow).Value ‘ 在内存中循环处理数组(速度极快) For i = LBound(dataArr, 1) + 1 To UBound(dataArr, 1) ‘ 通常第1行是表头 If dataArr(i, 3) >    100 Then ‘ 假设第3列是数值 dataArr(i, 4) = “超额” ‘ 在第4列写入结果 dataArr(i, 4) = dataArr(i, 2) * 1.1 ‘ 也可以进行运算 End If Next i ‘ 一次性将数组写回原区域或新区域 ws.Range(“A1:D” &     lastRow).Value = dataArr ‘ 或写入新位置:Sheets(“结果”).Range(“A1”).Resize(UBound(dataArr, 1), UBound(dataArr, 2)).Value = dataArr End Sub 注意:数组的索引默认从1开始,与单元格位置对应,这是最方便的地方。 七、智能标记:用代码实现高级条件格式 7. 动态条件格式规则 With ws.Range(“B2:B” &     lastRow) .FormatConditions.Delete ‘ 清除旧规则 ‘ 规则1:大于平均值标绿 .FormatConditions.AddAboveAverage .FormatConditions(1).Interior.Color = RGB(198, 239, 206) ‘ 规则2:数值重复标黄 .FormatConditions.AddUniqueValues .FormatConditions(2).DupeUnique = xlDuplicate .FormatConditions(2).Interior.Color = RGB(255, 255, 0) ‘ 规则3:基于公式的复杂条件(标记本月数据) .FormatConditions.Add Type:=xlExpression, Formula1:=“=MONTH(A2)=MONTH(TODAY())” .FormatConditions(3).Font.Bold = True End With 八、输入规范:用数据验证堵住错误源头 8. 创建动态下拉列表 ‘ 创建一个引用“配置表”中列表的动态下拉 With ws.Range(“D2:D100”).Validation .Delete .Add Type:=xlValidateList, Formula1:=“=配置表!$A$2:$A$20” ‘ 列表源可动态扩展 .IgnoreBlank = True .InCellDropdown = True End With 九、文件与表管理:批量操作的基石 9. 安全、批量地操作工作表 ‘ 批量删除除指定表外的所有表 Application.DisplayAlerts = False ‘ 禁止删除确认弹窗 For Each sht In ThisWorkbook.Worksheets If sht.Name <>       “总表” And sht.Name <>       “配置” Then sht.Delete End If Next sht Application.DisplayAlerts = True ‘ 恢复警告 ‘ 保护工作表结构但允许VBA编辑 ThisWorkbook.Protect Structure:=True, Password:=“yourPassword”, Workbook:=True ‘ 但允许VBA继续操作单个工作表 ws.Protect Password:=“sheetPass”, UserInterfaceOnly:=True, AllowFiltering:=True 十、自动存档:工作簿的自我保护机制 10. 定时备份与归档 Sub 自动备份() Dim backupPath As String, newName As String backupPath = ThisWorkbook.Path &     “\备份\” ‘ 如果备份文件夹不存在,则创建 If Dir(backupPath, vbDirectory) = “” Then MkDir backupPath newName = backupPath &     ThisWorkbook.Name &     “_” &     Format(Now, “yyyymmdd_hhnnss”) &     “.xlsm” ThisWorkbook.SaveCopyAs Filename:=newName MsgBox “备份成功:” &     vbNewLine &     newName, vbInformation End Sub 十一、健壮性核心:优雅的错误处理 没有错误处理的脚本是“定时炸弹”。 11. 结构化错误处理框架 Sub 重要任务() On Error GoTo ErrHandler ‘ 开启错误捕获 Application.DisplayAlerts = False ‘ ———— 你的核心代码 ———— ‘ … ‘ ———— 核心代码结束 ———— CleanUp: ‘ 清理现场标签 ‘ 无论是否出错,都会执行的部分 Application.DisplayAlerts = True Application.ScreenUpdating = True Exit Sub ‘ 正常退出 ErrHandler: ‘ 错误处理标签 MsgBox “错误编号 ” &     Err.Number &     “: “ &     Err.Description &     vbNewLine &     _ “发生在过程:” &     “重要任务”, vbCritical, “程序出错” ‘ 可以选择记录日志 Debug.Print “错误时间:” &     Now; “ 错误描述:” &     Err.Description Resume CleanUp ‘ 跳转到清理现场 End Sub 十二、性能优化三件套:代码的“开关”艺术 在长时间或大量操作前开启,操作结束后恢复。必须成对使用,防止程序崩溃后设置被卡住。 12. 标准性能优化模块 Sub 执行耗时操作() Dim calcMode As Long, screenUpdate As Boolean, events As Boolean ‘ 1. 保存当前设置 calcMode = Application.Calculation screenUpdate = Application.ScreenUpdating events = Application.EnableEvents ‘ 2. 关闭所有“耗能”功能 Application.Calculation = xlCalculationManual ‘ 手动计算 Application.ScreenUpdating = False ‘ 禁止屏幕刷新 Application.EnableEvents = False ‘ 禁止触发事件 ‘ Application.StatusBar = “正在处理,请稍候…” ‘ 可在状态栏显示进度 ‘ 3. 执行你的核心耗时操作 ‘ … 你的代码 … ‘ 4. 恢复原始设置 (必须执行!) Application.Calculation = calcMode Application.ScreenUpdating = screenUpdate Application.EnableEvents = events Application.StatusBar = False End Sub 十三、实用自定义函数:打造你的VBA武器库 13. 高频使用的自定义函数 ‘ 函数1:安全获取单元格值,避免空值错误 Function GetCellValue(rng As Range) As Variant If rng Is Nothing Or IsEmpty(rng) Then GetCellValue = “” ‘ 或返回0等其他默认值 Else GetCellValue = rng.Value End If End Function ‘ 函数2:判断工作簿是否已打开 Function IsWorkbookOpen(wbName As String) As Boolean Dim wb As Workbook On Error Resume Next Set wb = Workbooks(wbName) IsWorkbookOpen = Not wb Is Nothing On Error GoTo 0 End Function ‘ 函数3:获取指定文件夹下的所有文件名列表 Function GetFileList(folderPath As String, Optional fileType As String = “.xls*”) As Collection Dim colFiles As New Collection Dim fileName As String fileName = Dir(folderPath &     “\” &     fileType) Do While fileName <>       “” colFiles.Add fileName fileName = Dir Loop Set GetFileList = colFiles End Function 终极实战:组合运用,一键生成周报 将以上技巧融会贯通,形成一个完整解决方案。 Sub 一键生成周报() ‘ 声明变量 Dim wsData As Worksheet, wsReport As Worksheet Dim lastRow As Long, lastCol As Long Dim dataArr As Variant, reportArr() As Variant Dim i As Long, j As Long, k As Long ‘ 0. 性能优化 Call 优化设置(True) ‘ 开启优化 On Error GoTo ErrHandler ‘ 1. 设置工作表对象 Set wsData = ThisWorkbook.Worksheets(“原始数据”) Set wsReport = ThisWorkbook.Worksheets(“周报”) ‘ 2. 动态获取数据源范围 lastRow = wsData.Cells(wsData.Rows.Count, “A”).End(xlUp).Row lastCol = wsData.Cells(1, wsData.Columns.Count).End(xlToLeft).Column ‘ 3. 使用数组一次性读入数据 dataArr = wsData.Range(wsData.Cells(1, 1), wsData.Cells(lastRow, lastCol)).Value ‘ 4. 在内存中处理数据(例如:按部门汇总,筛选本周数据) ReDim reportArr(1 To 1000, 1 To lastCol) ‘ 预设结果数组大小 k = 1 For i = 2 To UBound(dataArr, 1) ‘ 跳过标题行 ‘ 假设第1列是日期,第3列是部门 If IsDate(dataArr(i, 1)) Then If CDate(dataArr(i, 1)) >   = Date - 7 And dataArr(i, 1) <   = Date Then ‘ 本周数据 For j = 1 To UBound(dataArr, 2) reportArr(k, j) = dataArr(i, j) Next j k = k + 1 End If End If Next i ReDim Preserve reportArr(1 To 1000, 1 To k - 1) ‘ 调整数组为实际大小 ‘ 5. 将结果数组写入周报表 wsReport.Cells.ClearContents wsReport.Range(“A1”).Resize(k - 1, lastCol).Value = Application.Transpose(reportArr) ‘ 注意转置 ‘ 6. 应用格式 wsReport.Range(“A1”).CurrentRegion.Borders.LineStyle = xlContinuous wsReport.Range(“A1”).CurrentRegion.Font.Name = “微软雅黑” ‘ 7. 保存备份 Call 自动备份 CleanUp: Call 优化设置(False) ‘ 恢复设置 Application.StatusBar = “周报生成完毕!” Exit Sub ErrHandler: MsgBox “生成周报时出错:” &     Err.Description, vbCritical Resume CleanUp End Sub Sub 优化设置(enable As Boolean) With Application If enable Then .ScreenUpdating = False .Calculation = xlCalculationManual .EnableEvents = False Else .ScreenUpdating = True .Calculation = xlCalculationAutomatic .EnableEvents = True End If End With End Sub 记住,自动化不是为了让工作更复杂,而是为了将你从重复中解脱,专注于真正需要思考和创造的部分。从复制一段代码开始,运行它,修改它,让它解决你眼前的具体问题。行动,是学会VBA的唯一路径。 能力自测(单选) 处理上万行数据时,为何强烈推荐使用数组(Array)而非直接操作单元格?A. 数组语法更简单易学 B. 数组可以减少内存占用 C. 数组将数据读入内存处理,避免与工作表频繁交互,极大提升速度 D. 数组功能比单元格操作更强大 在VBA中,使用Range.Find方法进行查找时,若想进行模糊查找(包含部分文本),应将哪个参数设置为xlPart?A. LookIn B. LookAt C. SearchOrder D. MatchCase 在代码开头关闭了Application.ScreenUpdating以提升性能,为何必须在代码结束时(即使发生错误)将其重新打开?A. 否则Excel会报错 B. 否则工作簿将无法保存 C. 否则用户将看不到后续的操作结果,且Excel界面可能卡住无响应 D. 这不是强制要求,只是为了好看 【答案揭晓】 C。数组技术的核心优势在于“内存计算”,将数据一次性读入内存,处理完毕再一次性写回,这避免了频繁读写单元格这个最耗时的操作,速度提升可达数十倍。 B。LookAt参数控制匹配方式:xlWhole为完全匹配,xlPart为部分匹配(模糊查找)。 C。这是VBA编程中的一个重要纪律。如果关闭屏幕刷新后不重新打开,用户界面将停止更新,给用户造成程序卡死或未完成的错觉。良好的编程习惯(如使用错误处理On Error GoTo...)确保在任何情况下(包括程序出错中断)都能恢复到正常的应用程序设置。

🌟 加关注获取每日资源推荐

畅榴云平台为你提供海量素材每日更新各类精选资源推荐让创作更高效,让灵感不间断

💡 温馨提示

更多精彩内容,欢迎关注我们觉得有用请点个「在看」支持一下吧~

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