当前位置:首页>Excel>系列收官:Excel自动化报表全系列精华总结与进阶路线图

系列收官:Excel自动化报表全系列精华总结与进阶路线图

  • 2026-07-06 23:22:13
系列收官:Excel自动化报表全系列精华总结与进阶路线图

从第1篇pandas基础到最终章的报表生成系统,我们一起走过了23篇文章、5大章节的完整旅程。

今天这篇,不是简单的"目录罗列",而是把整个系列的精华、避坑、实战要点、思维框架全部浓缩。不管你是跟完全程的老读者,还是刚发现这个系列的新朋友,这篇总结都能帮你快速定位、查漏补缺、规划下一步

更重要的是——文末有下一个系列的预告和投票,你的选择决定我们接下来学什么。

👇 看完本文你能学到什么?

1. 23篇文章核心知识点一图打尽

2. 从零基础到系统搭建的完整技能树复盘

3. 下一个系列方向投票+独家学习资料领取


💡 文末有彩蛋:附赠全系列代码仓库链接+知识卡片PDF



一、系列全貌:5章23篇文章的知识地图

先用一张表回顾整个系列的结构和每篇的核心收获:

章节
篇数
核心主题
学完你能做什么
第1章 Excel基础操作
3篇
pandas读写、常见坑、基础练习
用Python读取和写入任意Excel文件
第2章 数据读取与写入
5篇
文件结构、批量合并、多Sheet、写入、库对比
批量处理100+文件,多Sheet操作,选对工具
第3章 数据清洗与转换
5篇
脏数据识别、空值/重复/异常、日期、字符串、8大坑
把任何脏数据洗成可用数据
第4章 数据分析与统计
5篇
描述统计、groupby、透视表、全流程实战、进阶题
从数据中提取业务洞察
第5章 报表自动化与可视化
5篇
报表方法论、openpyxl格式化、图表、条件格式、系统搭建
一键生成专业报表

5章的逻辑是一条完整的链路:读取 → 清洗 → 分析 → 呈现。每一章都是上一章的下游,也是下一章的上游。你单独拿任何一章出来学也没问题,但串起来才是真正的数据生产力


二、核心函数速查表:23篇精华浓缩

这是整个系列用到的最核心的函数和类,按章节分类。建议收藏,日常工作中直接当速查手册用。

2.1 读取与写入(第1-2章)

函数/方法
用途
关键参数
pd.read_excel()
读取Excel
sheet_name, header, usecols, dtype
df.to_excel()
写入Excel
sheet_name, index, encoding
pd.concat()
合并多个DataFrame
axis, ignore_index
pd.ExcelFile()
读取多Sheet
sheet_names属性
openpyxl.load_workbook()
读取xlsx格式细节
data_only, read_only
wb.create_sheet()
创建新Sheet
title, index
ws.cell().value
读写单元格
row, column

2.2 数据清洗(第3章)

函数/方法
用途
关键参数
df.dropna()
删除空值
subset, how, thresh
df.fillna()
填充空值
value, method, limit
df.drop_duplicates()
去重
subset, keep
pd.to_datetime()
日期转换
format, errors
pd.to_numeric()
数值转换
errors, downcast
df.str.replace()
字符串替换
正则, n, regex
df.str.extract()
正则提取
pat, flags
df.astype()
类型转换
dtype字典

2.3 数据分析(第4章)

函数/方法
用途
关键参数
df.describe()
描述统计
percentiles, include
df.groupby()
分组聚合
by, as_index, group_keys
agg()
多聚合函数
字典/列表
transform()
组内广播
func
pd.pivot_table()
透视表
values, index, columns, aggfunc
pd.crosstab()
交叉表
margins, normalize
df.merge()
合并关联
on, how, suffixes
df.query()
条件筛选
字符串表达式

2.4 报表自动化(第5章)

函数/类
用途
关键参数
Font
字体样式
name, size, bold, color
PatternFill
背景填充
fill_type, start_color
Alignment
对齐方式
horizontal, vertical, wrap_text
Border + Side
边框
style, color
BarChart / LineChart / PieChart
图表
title, style, data reference
DataValidation
数据验证
type, formula1, formula2
Rule
条件格式规则
type, formula, font, fill
Worksheet.auto_filter
自动筛选
ref

这4张表涵盖了系列中95%以上的核心API。日常工作中,遇到"那个函数叫什么来着"的瞬间,翻这个表就够了。


三、避坑红黑榜:最容易踩的10个坑

整个系列下来,有些坑反复出现、反复让人崩溃。我把它们按踩坑频率排了个榜:

🥇 第1名:编码与中文乱码

症状:读取Excel后中文变乱码,或者写入后打开是乱码。

根因:默认编码不是UTF-8,或者pandas和openpyxl对编码的处理不一致。

解法

# 读取时指定编码 df = pd.read_excel('file.xlsx')  # pandas默认UTF-8,通常没问题  # 写入时确保UTF-8 df.to_excel('output.xlsx', encoding='utf-8-sig')  # 加BOM头兼容Excel  # openpyxl写入中文 wb.save('output.xlsx')  # openpyxl默认UTF-8,无需额外处理

一句话总结:pandas读、openpyxl写,基本不踩坑。混合使用时注意编码一致性。

🥈 第2名:日期格式不统一

症状:同一列日期,有的是"2025-01-01",有的是"2025/1/1",有的干脆是数字44927。

根因:Excel内部存储日期为序列号,显示格式只是"皮肤"。

解法

# 统一转换,errors='coerce'把无法转换的变NaT df['日期'] = pd.to_datetime(df['日期'], errors='coerce')  # 检查转换失败的数量 failed = df['日期'].isna().sum() if failed > 0:     print(f"警告: {failed}个日期转换失败,请检查原始数据")

🥉 第3名:空值的隐性影响

症状:groupby结果少了分组,或者计算结果莫名变NaN。

根因:pandas默认跳过NaN,但某些操作(如str方法)遇到NaN直接报错。

解法

# 先检查空值分布 print(df.isnull().sum())  # 分情况处理 df['数值列'] = df['数值列'].fillna(0)      # 数值型:填0 df['文本列'] = df['文本列'].fillna('未知')  # 文本型:填默认值 df = df.dropna(subset=['关键列'])           # 关键列:直接删

第4名:大数据量内存溢出

症状:读取大文件时MemoryError。

解法:用chunksize分块读取,或用dtype指定类型减少内存。

# 分块读取 chunks = pd.read_excel('大文件.xlsx', chunksize=10000) result = pd.concat([process(chunk) for chunk in chunks])

第5名:openpyxl样式不生效

症状:设置了Font、Fill但打开Excel没变化。

根因:样式对象必须新创建才能生效,复用同一个对象可能被覆盖。

# ✅ 正确:每行/每列创建新对象 for row in ws.iter_rows(min_row=2, max_row=10):     for cell in row:         cell.font = Font(bold=True)  # 每个cell都new  # ❌ 错误:复用对象 my_font = Font(bold=True) for cell in ws[1]:     cell.font = my_font  # 可能被覆盖

第6名:f-string中花括号冲突

症状:生成报表代码时报NameError,变量找不到。

根因:f-string里写字典{}、正则{n,m},花括号被Python当变量解析。

解法:f-string中的{}必须写成{{}},或者干脆不用f-string。

# ❌ 错误 msg = f"配置: {'key': 'value'}"  # 报错  # ✅ 正确 msg = f"配置: {'key': 'value'}"  # 需要转义 # 或者用format msg = "配置: {'key': 'value'}".format()

第7名:merge后的笛卡尔积

症状:merge后行数暴增,数据膨胀。

根因:关联键有重复值,产生多对多连接。

解法:merge前检查关联键的唯一性。

# 合并前检查 left_keys = df_left['ID'].nunique() right_keys = df_right['ID'].nunique() if left_keys != len(df_left) or right_keys != len(df_right):     print("警告:关联键有重复,可能产生笛卡尔积!")

第8名:to_excel覆盖已有文件

症状:写入后原文件其他Sheet丢失。

根因:pandas的to_excel会整体覆盖文件,不是追加Sheet。

解法:用openpyxl的ExcelWriter配合mode='a'追加。

from openpyxl import load_workbook # 追加Sheet到已有文件 with pd.ExcelWriter('已有文件.xlsx', engine='openpyxl', mode='a') as writer:     df.to_excel(writer, sheet_name='新Sheet')

第9名:列名包含空格或特殊字符

症状:df.列名 报错,或者query字符串报语法错误。

解法:统一重命名。

# 批量清理列名 df.columns = df.columns.str.strip().str.replace(' ', '_') # 或用反引号 result = df.query('`销售 金额` > 1000')

第10名:条件格式规则冲突

症状:条件格式设置了但优先级不对,该红的不红。

解法:后添加的规则优先级更高,或者手动设置stopIfTrue。

# 条件格式按优先级添加 ws.conditional_formatting.add('A1:A10', rule1)  # 低优先级 ws.conditional_formatting.add('A1:A10', rule2)  # 高优先级(覆盖rule1)

四、实战能力自测:你能到第几级?

学完这个系列,你的Excel自动化能力到了什么水平?以下5个级别,看看你在哪一级:

级别
能力描述
典型场景
对应章节
🟢 Lv1 入门
能用pandas读取和写入Excel
把CSV转成Excel,简单筛选
第1章
🟡 Lv2 熟练
能批量处理文件、操作多Sheet
合并100个分公司的销售表
第2章
🟠 Lv3 能干
能清洗脏数据、处理日期和字符串
把乱七八糟的原始数据洗成可用数据
第3章
🔴 Lv4 精通
能做分组统计、透视表、交叉分析
从数据中提取业务洞察,出分析报告
第4章
🟣 Lv5 专家
能搭建自动化报表系统,一键出报告
定时任务+邮件发送+异常监控
第5章

自测题:以下5道题,每题对应一个级别。做到哪道卡住了,就回去复习对应章节。

题1(Lv1):用pandas读取"data.xlsx"的Sheet2,只取A到D列,跳过前3行。

df = pd.read_excel('data.xlsx', sheet_name='Sheet2', usecols='A:D', skiprows=3)

题2(Lv2):把"销售/"目录下所有xlsx文件合并成一个DataFrame。

import glob files = glob.glob('销售/*.xlsx') df = pd.concat([pd.read_excel(f) for f in files], ignore_index=True)

题3(Lv3):把"2025年1月15日"转换为datetime,并提取年月。

dt = pd.to_datetime('2025年1月15日', format='%Y年%m月%d日') year_month = dt.to_period('M')

题4(Lv4):按部门和月份分组,统计销售额的合计、均值、最大值。

result = df.groupby(['部门', df['日期'].dt.month])['销售额'].agg(['sum', 'mean', 'max'])

题5(Lv5):写一个ReportSystem类,读取→清洗→分析→透视→格式化→图表→保存,一键运行。

class ReportSystem:     def __init__(self, input_file, output_file):         self.input_file = input_file         self.output_file = output_file         self.analysis = {}          def run(self):         self.load_data()         self.clean_data()         self.analyze_data()         self.create_pivot()         self.format_and_chart()         self.save()         print("报表生成完成!")

五、思维框架:数据处理的"四象限法"

学完整个系列,最核心的不是某个函数,而是思维方式。我把日常数据处理任务分成4个象限:

一次性任务
重复性任务
简单操作
手动做(Excel/鼠标)
录宏/VBA
复杂逻辑
Python脚本
自动化系统(本系列Lv5)

判断标准

1. 如果你只做一次逻辑简单:别折腾Python了,Excel手动做更快。

2. 如果你只做一次逻辑复杂:写个Python脚本,跑完就扔。

3. 如果你每周/每月重复逻辑简单:Excel录制宏或VBA。

4. 如果你每周/每月重复逻辑复杂:搭自动化系统——这就是第5章教你的。

很多新手的问题不是"不会Python",而是不知道什么时候该用Python。这个四象限法帮你做出正确的决策。


六、全系列代码实战清单:你应该已经完成的11个项目

整个系列中,每篇文章都设计了实战练习。把最重要的11个整理出来,如果你全部完成,你的Excel自动化能力已经超过90%的办公人员:

#
实战项目
核心技能
难度
1
用pandas读取Excel并筛选数据
read_excel, 筛选
2
批量读取100个文件并合并
glob + concat
⭐⭐
3
多Sheet写入+条件格式
openpyxl写入
⭐⭐
4
空值填充策略对比
dropna, fillna
⭐⭐
5
日期格式统一转换
to_datetime
⭐⭐
6
正则清洗地址/电话字段
str.extract
⭐⭐⭐
7
groupby多维度聚合分析
groupby + agg
⭐⭐⭐
8
企业级数据透视表
pivot_table
⭐⭐⭐
9
销售数据全流程分析报告
全流程综合
⭐⭐⭐⭐
10
带图表和条件格式的专业报表
openpyxl高级
⭐⭐⭐⭐
11
一键报表生成系统
系统级整合
⭐⭐⭐⭐⭐

如果你只完成了前5个——你已经能处理日常80%的Excel自动化需求了。

如果你完成了前8个——你可以把"精通Excel自动化"写进简历。

如果你完成了全部11个——你已经是Excel自动化领域的实战专家


七、工具选型决策树:什么时候用什么

系列中介绍了多个工具,很多读者问"我到底该用哪个"。这里给一个决策树

你的任务是什么? ├── 只是读写数据 → pandas │   ├── 大文件(>50MB)? → chunksize分块 │   └── 需要保留格式? → openpyxl读取+pandas处理 ├── 需要操作格式/样式 → openpyxl │   ├── 图表? → openpyxl.chart │   ├── 条件格式? → openpyxl.formatting │   └── 数据验证? → openpyxl.worksheet.datavalidation ├── 只需要读老格式xls → xlrd(只读) ├── 只需要写简单xls → xlwt(只写) └── 需要搭完整系统 → pandas + openpyxl(本系列方案)

一句话总结:90%的场景,pandas负责数据,openpyxl负责格式,两个库组合就够了。别纠结"哪个更好",选对场景用对工具才是关键。


八、从"会"到"精":3个进阶方向

如果你已经跟完了整个系列,下面3个方向能让你的能力再上一个台阶:

方向1:数据可视化进阶

Excel图表能做到的有限。当你需要更精美的可视化时:

# matplotlib基础折线图 import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei']  # 中文显示 df.plot(x='月份', y='销售额', kind='line', title='月度销售趋势') plt.savefig('月度趋势.png', dpi=150, bbox_inches='tight')  # seaborn统计图 import seaborn as sns sns.boxplot(data=df, x='部门', y='销售额')  # plotly交互图 import plotly.express as px fig = px.scatter(df, x='月份', y='销售额', color='品类', size='数量') fig.write_html('交互图表.html')

什么时候用:需要导出高清图/交互图/嵌入PPT时,比Excel图表更专业。

方向2:数据库直连

当数据量太大(百万行以上),Excel就不合适了。直接连数据库:

import sqlalchemy engine = sqlalchemy.create_engine('mysql+pymysql://user:pass@host/db')  # 从数据库读 df = pd.read_sql('SELECT * FROM sales WHERE date >= "2025-01-01"', engine)  # 写入数据库 df.to_sql('report_result', engine, if_exists='replace', index=False)

什么时候用:数据量超10万行、需要多人协作、有历史数据追溯需求时。

方向3:定时任务+邮件自动发送

把报表系统升级为全自动无人值守

import smtplib from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email import encoders  def send_report_email(to_addr, file_path):     '''自动发送报表邮件'''     msg = MIMEMultipart()     msg['Subject'] = f'日报 - {datetime.now().strftime("%Y-%m-%d")}'     msg['From'] = 'report@company.com'     msg['To'] = to_addr          with open(file_path, 'rb') as f:         part = MIMEBase('application', 'octet-stream')         part.set_payload(f.read())         encoders.encode_base64(part)         part.add_header('Content-Disposition', f'attachment; filename=report.xlsx')         msg.attach(part)          with smtplib.SMTP('smtp.company.com', 25) as server:         server.send_message(msg)     print("邮件发送完成!")  # 配合Windows任务计划程序,每天9:00自动运行 # schtasks /create /tn "DailyReport" /tr "python report.py" /sc daily /st 09:00

什么时候用:每天/每周固定出报告,不想手动操作时。


九、读者常见问题FAQ(系列版)

整个系列收到的最高频问题,统一回答:

Q1:pandas和openpyxl到底什么关系?

A:pandas是数据分析库,openpyxl是Excel文件操作库。pandas底层用openpyxl读写xlsx,但pandas关注数据,openpyxl关注格式。你需要格式就用openpyxl,只需要数据就用pandas。

Q2:学了Python操作Excel,还需要学VBA吗?

A:看场景。如果团队里全是Excel用户,VBA更方便共享。如果你自己用且涉及复杂逻辑,Python效率高10倍。建议先学Python,有需要再补VBA

Q3:处理百万行数据,pandas够用吗?

A:100万行以内,pandas完全够用。超过100万行,建议用数据库(SQL+SQLAlchemy),或者用polars(更快的DataFrame库)。

Q4:openpyxl和xlsxwriter该选哪个?

A:xlsxwriter只能创建新文件,不能读取和修改已有文件。openpyxl既能读也能写。90%场景选openpyxl。

Q5:学完这个系列,能去找数据分析的工作吗?

A:技术方面你已经具备了Excel自动化和基础数据分析的能力。但工作还需要:业务理解、沟通表达、SQL基础、可视化能力。建议继续学SQL和BI工具,这个系列是你的起跑线而不是终点。

Q6:代码都看懂了但自己写不出来怎么办?

A:这是典型的"读懂≠会写"。解法只有一个:做项目。拿你工作中的真实数据,从最简单的"读取+筛选+保存"开始,一步步加功能。每一行自己敲的代码,都比看10行代码有用。


十、下一个系列预告:你来决定!

Excel自动化系列结束,但学习不停。以下是3个候选方向,在评论区投票,票数最高的就是我们下一个系列的主题:

🎯 候选A:Power BI + Python 数据分析实战

从Excel升级到BI工具,用Python+Power BI打造交互式数据看板。

- 适合人群:需要给老板/客户做数据看板的职场人

- 内容预览:Power Query数据清洗、DAX度量值、Python脚本可视化、自动刷新

- 预计篇数:20-25篇

🎯 候选B:Python自动化办公全场景

Excel只是开始。Word、PPT、PDF、邮件、微信——全用Python自动化。

- 适合人群:每天重复操作多个办公软件的"打工人"

- 内容预览:python-docx写Word、python-pptx做PPT、PyPDF2处理PDF、自动发邮件、钉钉/飞书机器人

- 预计篇数:25-30篇

🎯 候选C:数据分析从入门到实战(统计+业务+可视化)

不再只学工具,而是真正学会分析数据。统计学+业务思维+可视化,三位一体。

- 适合人群:想从"工具人"升级为"分析师"的读者

- 内容预览:概率与分布、假设检验、回归分析、A/B测试、业务指标拆解、seaborn/plotly可视化

- 预计篇数:25-30篇


十一、全系列学习资源汇总

所有资源关注公众号后免费领取

资源
获取方式
内容
全系列代码仓库
回复「Excel代码」
23篇文章全部可运行代码
核心函数速查卡
回复「速查卡」
本文第2节的4张表PDF版
避坑手册
回复「避坑」
本文第3节的10大坑详细版
实战项目模板
回复「项目模板」
11个实战项目的初始代码框架
报表系统源码
回复「报表系统」
第5章完整ReportSystem源码

十二、写在最后

23篇文章,从"pandas是什么"到"一键生成报表系统",这个跨度说大不大,说小也不小。

说大——因为它覆盖了Excel自动化最核心的完整链路,你学到的不是一个函数,而是一套可复用的方法论:读取→清洗→分析→呈现。这套方法论不只在Excel里管用,换到SQL、换到数据库、换到BI工具,底层逻辑是一样的。

说小——因为这只是Python数据处理的入门。真正的数据分析师,还需要SQL、统计学、业务思维、可视化能力。但这些,我们下一个系列继续。

最后,感谢每一位坚持到这里的读者。能看完23篇技术文章的人,执行力已经超过95%的人了。

下一系列,我们再会。


今日互动

1. 投票:下一个系列你想学哪个方向?(A. Power BI / B. 自动化办公 / C. 数据分析)

2. 晒作业:用ReportSystem跑完真实数据的,截图评论区见!

3. 许愿:你还想学什么?评论区告诉我,我考虑加到下一系列。

点赞最高的3条评论,送下一系列付费课程免费名额!


📌 往期精选:

👉 最终章:从零搭建Excel自动化报表生成系统


🔔 关注公众号,回复「总结」领取:总结学习手册

(点击公众号底部菜单 → 领取资料)

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-08 01:16:53 HTTP/2.0 GET : https://h.sjds.net/a/527714.html
  2. 运行时间 : 0.085888s [ 吞吐率:11.64req/s ] 内存消耗:4,401.63kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=67b0c52e5deeaa50120e84907f00ab0f
  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.000772s ] mysql:host=127.0.0.1;port=3306;dbname=h_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000848s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000294s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000277s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000501s ]
  6. SELECT * FROM `set` [ RunTime:0.000202s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000524s ]
  8. SELECT * FROM `article` WHERE `id` = 527714 LIMIT 1 [ RunTime:0.000782s ]
  9. UPDATE `article` SET `lasttime` = 1783444613 WHERE `id` = 527714 [ RunTime:0.006705s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000409s ]
  11. SELECT * FROM `article` WHERE `id` < 527714 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000618s ]
  12. SELECT * FROM `article` WHERE `id` > 527714 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000385s ]
  13. SELECT * FROM `article` WHERE `id` < 527714 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001419s ]
  14. SELECT * FROM `article` WHERE `id` < 527714 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001038s ]
  15. SELECT * FROM `article` WHERE `id` < 527714 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001412s ]
0.087729s