当前位置:首页>python>第335讲:分别用 Python(openpyxl) 和 VBA 来实现日报/周报模板自动填充

第335讲:分别用 Python(openpyxl) 和 VBA 来实现日报/周报模板自动填充

  • 2026-08-21 16:47:32
第335讲:分别用 Python(openpyxl) 和 VBA 来实现日报/周报模板自动填充

场景:每日将前一天的GMV、DAU、转化率填入固定模板

做数据运营、商业分析的同学都知道:日报/周报的本质不是“写”,而是“填”

绝大多数公司的报表流程是这样的:

  1. BI系统/数据库 → 导出原始数据(CSV / Excel)

  2. 人工打开Excel模板 → 找到对应单元格 → 粘贴数值

  3. 调整格式 → 发给领导

其中第2步,往往是最机械、最容易出错、也最容易被自动化替代的一环。

今天我们就围绕一个非常具体的场景展开:

每天把前一天的 GMV、DAU、转化率,自动填入一个固定位置的Excel模板中

我们会分别用 Python(openpyxl) 和 VBA 来实现,并重点对比两者的底层逻辑一致性语法差异。你会发现:学会了其中一个,另一个几乎是无缝迁移。


一、业务场景拆解:先搞清楚“到底要做什么”

在动手写代码之前,先把业务逻辑拆清楚,这是所有自动化的前提。

假设公司有一份固定的日报模板 daily_report_template.xlsx,结构如下(简化版):

单元格

含义

B2

报表日期

B3

DAU

B4

GMV

B5

转化率

数据源来自数据库或BI工具,每天生成一份 data_2026-01-21.csv

metric,value
dau,128900
gmv,345678.5
conversion_rate,0.0421

我们要做的,就是:

读取数据 → 定位单元格 → 写入数值 → 保存为新文件

这个流程,无论用 Python 还是 VBA,本质都是一样的。


二、Python 实现:openpyxl 定位单元格写入

1. 为什么选 openpyxl?

在 Python 操作 Excel 的三驾马车中:

库名

特点

适合场景

xlrd/xlwt

仅支持 xls,已停止维护

老旧系统

pandas

擅长数据分析,不适合精细格式控制

数据处理

openpyxl

支持 xlsx,读写灵活,可精确控制单元格

模板填充 ✅

日报/周报往往有合并单元格、固定样式、公司Logo,pandas 会破坏这些格式,因此 openpyxl 是最佳选择


2. 基础实现代码(可直接用)

from openpyxl import load_workbookimport datetime# 1. 加载模板wb = load_workbook("daily_report_template.xlsx")ws = wb.active  # 或 wb["Sheet1"]# 2. 模拟从数据库/BI获取的数据(实际可替换为SQL查询结果)data = {    "date": datetime.date.today() - datetime.timedelta(days=1),    "dau"128900,    "gmv"345678.5,    "conversion_rate"0.0421}# 3. 定位单元格并写入ws["B2"].value = data["date"].strftime("%Y-%m-%d")ws["B3"].value = data["dau"]ws["B4"].value = data["gmv"]ws["B5"].value = data["conversion_rate"]# 4. 保存为新文件(避免覆盖模板)output_name = f"日报_{data['date']}.xlsx"wb.save(output_name)print(f"日报生成成功:{output_name}")

✅ 关键点说明

  • load_workbook():加载已有模板(不是新建)

  • ws["B2"]:Excel 单元格定位,和手动操作完全一致

  • 保存为新文件名:这是生产环境的最佳实践


3. 进阶:从 CSV / SQL 读取真实数据

从 CSV 读取(最常见)

import csvmetrics = {}with open("data_2026-01-21.csv", encoding="utf-8"as f:    reader = csv.DictReader(f)    for row in reader:        metrics[row["metric"]] = float(row["value"]) if row["metric"] != "dau" else int(row["value"])ws["B3"].value = metrics["dau"]ws["B4"].value = metrics["gmv"]ws["B5"].value = metrics["conversion_rate"]从 SQL 数据库读取(MySQL示例)import pymysqlconn = pymysql.connect(    host="localhost",    user="user",    password="pwd",    database="bi_db")cursor = conn.cursor()cursor.execute("""    SELECT metric, value     FROM daily_metrics     WHERE date = CURDATE() - INTERVAL 1 DAY""")metrics = dict(cursor.fetchall())

💡 实际工作中,80% 的日报自动化,都止步于这一步


4. Python 方式的优势总结

  • ✅ 可集成到 Airflow / crontab 定时任务

  • ✅ 可与 SQL、API、消息通知打通

  • ✅ 跨平台(Windows / Linux / Mac)

  • ✅ 代码可复用、可版本管理(Git)


三、VBA 实现:Range().Value 直接写入模板

很多同学在公司电脑上不能装 Python,但 Excel + VBA 是标配。

这时候,VBA 就是最优解。

1. 基础实现代码

按 Alt + F11打开 VBA 编辑器,插入模块,输入以下代码:

Sub FillDailyReport()    Dim wb As Workbook    Dim ws As Worksheet    Dim yesterday As Date    ' 1. 打开模板    Set wb = Workbooks.Open("C:\Reports\daily_report_template.xlsx")    Set ws = wb.Sheets(1)    ' 2. 获取前一天日期    yesterday = Date - 1    ' 3. 模拟数据源(实际可替换为SQL/Power Query)    ws.Range("B2").Value = Format(yesterday, "yyyy-mm-dd")    ws.Range("B3").Value = 128900    ws.Range("B4").Value = 345678.5    ws.Range("B5").Value = 0.0421    ' 4. 另存为新文件    wb.SaveAs "C:\Reports\日报_" & Format(yesterday, "yyyy-mm-dd") & ".xlsx"    wb.Close    MsgBox "日报生成完成!"End Sub

2. Range 是 VBA 的核心概念

在 VBA 中:

Range("B3").Value

等价于 Python 中的:

ws["B3"].value

它们的逻辑完全一致

动作

Python

VBA

定位单元格

ws["B3"]

Range("B3")

读取值

ws["B3"].value

Range("B3").Value

写入值

ws["B3"].value = 123

Range("B3").Value = 123

🔑 核心认知

Python 和 VBA 在操作 Excel 时,使用的是同一套“空间坐标系”。


3. VBA 连接数据库(实战常用)

Sub LoadFromSQL()    Dim conn As Object    Dim rs As Object    Set conn = CreateObject("ADODB.Connection")    conn.Open "Provider=SQLOLEDB;Data Source=SERVER;Initial Catalog=BI_DB;User ID=user;Password=pwd;"    Set rs = conn.Execute("SELECT metric, value FROM daily_metrics WHERE date = CAST(GETDATE()-1 AS DATE)")    Do While Not rs.EOF        Select Case rs.Fields("metric").Value            Case "dau"                Range("B3").Value = rs.Fields("value").Value            Case "gmv"                Range("B4").Value = rs.Fields("value").Value            Case "conversion_rate"                Range("B5").Value = rs.Fields("value").Value        End Select        rs.MoveNext    Loop    rs.Close    conn.CloseEnd Sub

四、Python vs VBA:对照学习(重点)

这是本文最核心的部分。

1. 逻辑层面:高度一致

步骤

Python

VBA

打开文件

load_workbook()

Workbooks.Open()

选择工作表

wb.active / wb["Sheet1"]

Sheets(1)

定位单元格

ws["B3"]

Range("B3")

写入数据

.value = x

.Value = x

保存文件

wb.save()

wb.SaveAs()

👉 你会发现:只是换了一种语法,思维方式完全一样。


2. 语法差异为主

对比项

Python

VBA

大小写

严格区分

不区分

语句结束

换行 / :

换行

字符串拼接

f-string

&

日期处理

datetime

Date / Format

错误处理

try/except

On Error


3. 工程化差异(选学)

维度

Python

VBA

调度

crontab / Airflow

Windows 任务计划

版本管理

Git

困难

依赖管理

pip / venv

引用库

云部署


五、常见坑位提醒(血泪经验)

1. 模板被覆盖

❌ 错误做法:

wb.save("daily_report_template.xlsx")

✅ 正确做法:

wb.save(f"日报_{date}.xlsx")

2. 数字变成日期

Excel 会自动把 1-2识别成 1月2日

解决方式:

ws["B3"].number_format = "0"

3. VBA 路径问题

建议统一使用绝对路径,或:

ThisWorkbook.Path & "\daily_report_template.xlsx"

六、什么时候用 Python?什么时候用 VBA?

场景

推荐

个人电脑、无权限安装软件

VBA

需要定时自动发邮件

Python

数据来自多个系统

Python

模板只在本机使用

VBA

团队协作、长期维护

Python


七、总结一句话

日报/周报自动化的本质,是用代码代替鼠标,完成“定位→写入→保存”这一固定流程。

Python 和 VBA 的差异,只是语法层面的,逻辑内核完全一致。

掌握其中一种,你已经解决了 80% 的重复性 Excel 工作;

掌握两种,你就在任何办公环境下都能交付自动化方案。

八、随堂测验(5道选择题)

  1. 使用 openpyxl 填充Excel模板时,为了防止破坏原模板,最佳做法是?

    A. 每次打开前复制模板

    B. 使用 wb.save() 覆盖原文件

    C. 使用 wb.save() 保存为新文件名

    D. 删除原模板

  2. Python 中 ws["B3"].value = 100,在 VBA 中最接近的等价写法是?

    A. Cells(3,2) = 100

    B. Range("B3").Value = 100

    C. ws.Range("B3") = 100

    D. Range(B3).Value = 100

  3. 以下哪项不是 Python + openpyxl 相比 VBA 的优势?

    A. 支持 Linux 服务器运行

    B. 更容易接入调度系统(如Airflow)

    C. 不需要安装Excel即可运行

    D. 可以直接修改Excel单元格格式

  4. 在日报自动化场景中,以下哪一步通常最容易被忽略但最关键?

    A. 美化图表颜色

    B. 另存为新文件

    C. 设置字体大小

    D. 添加动画效果

  5. 如果希望每天凌晨2点自动生成昨日日报,Python 方案最适合配合以下哪种工具?

    A. Windows 画图

    B. crontab / 任务计划程序

    C. PowerPoint

    D. Word 宏


参考答案

  1. C

  2. B

  3. D

  4. B

  5. B


最新文章

随机文章

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