我感觉自己越来越离不开AI了,尤其是2025年以来。虽然我只用到目前主流AI的冰山一角,并且只用了生成式的大型语言模型,具体的说,是免费版的Chatgpt和Deepseek,但即便是这样也给我的生活和工作带来了极大的便利。
我用AI的场景主要有三个:
- 写报告;
- 做表格;
- 改代码。
写报告
在我的日常工作中,其实很少会遇到写报告的场景,领导只是偶尔会让我起草个初稿,奈何本人文字能力实在很差,经常连个思路都没有。
于是我干脆把素材罗列在一起,然后让Deepseek帮我写:
“请你参照这篇文章:(以前的模板,或者别的模板),结合这些内容:(素材),帮我写一篇报告。”
也可以再加上一些限定,比如你是谁谁谁,这个报告要在什么场景用,用公文语气,多少字之类的。
不到3分钟,初稿就完成了,再安排AI改改细节,自己再调调格式,也许就能混过去了吧。
做表格
我本来也不太怕做表格,甚至可以说我还蛮擅长做表格、整理数据的,即便遇到很繁琐的事情,我也可以尝试使用Python的pandas或openpyxl来编程解决。
只不过我这种“擅长”,在AI面前还是太小儿科了。
以往处理大量重复劳动时,我会在Jupyter里面使用代码慢慢调试,但最近我发现还不如让ChatGPT给我一段VBA。比如这个场景:
我有一个excel工作簿,里面有很多工作表,除了“汇总”之外,其他都是明细表。明细表的E列第7行到最后一行都是会计科目长名称,比如“管理费用_研发费用_人员人工费_短期薪酬_工资_基本工资”,请帮我遍历所有表,批量改为短名称,取最后一个符号“_”后面的字符,比如“基本工资”
ChatGPT很快给出了VBA代码:
Sub ConvertAccountNameToShort()
Dim ws As Worksheet
Dim lastRow As Long
Dim r As Long
Dim fullName As String
Dim pos As Long
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each ws In ThisWorkbook.Worksheets
' 跳过汇总表
If ws.Name <> "汇总" Then
' 找到 E 列最后一行
lastRow = ws.Cells(ws.Rows.Count, "E").End(xlUp).Row
' 从第 7 行开始处理
For r = 7 To lastRow
fullName = Trim(ws.Cells(r, "E").Value)
' 只处理非空且包含 _
If fullName <> "" And InStr(fullName, "_") > 0 Then
' 找最后一个 _
pos = InStrRev(fullName, "_")
' 取最后一个 _ 后的内容
ws.Cells(r, "E").Value = Mid(fullName, pos + 1)
End If
Next r
End If
Next ws
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
MsgBox "所有明细表科目名称已转换完成!", vbInformation
End Sub
并且还非常贴心地给出了使用方式:
使用方法(一步一步) 1.Alt + F11 → 打开 VBA 编辑器 2.菜单 插入 → 模块 3.粘贴上面的代码 4.关闭编辑器 5.Alt + F8 6.选择 ConvertAccountNameToShort 7.点击 运行
从我点开ChatGPT开始,总用时不超过3分钟,以往这个时候我都还没在Python中导入excel。
即便真的遇到了VBA无法处理的时候,也可以让ChatGPT帮我写Python代码,比我自己查资料快多了:
我有一个excel模板,A1到O6是表头,我有一些数据,从第7行以后写入,请给我Python代码,让我读取并写入excel,且不要改变原来的格式
代码:
from openpyxl import load_workbook
from copy import copy
# ======================
# 1. 复制行样式(含行高)
# ======================
def copy_row_style(ws, src_row, tgt_row, max_col):
# 行高
height = ws.row_dimensions[src_row].height
if height is not None:
ws.row_dimensions[tgt_row].height = height
# 单元格样式
for col in range(1, max_col + 1):
src = ws.cell(row=src_row, column=col)
tgt = ws.cell(row=tgt_row, column=col)
if src.has_style:
tgt.font = copy(src.font)
tgt.border = copy(src.border)
tgt.fill = copy(src.fill)
tgt.number_format = src.number_format
tgt.alignment = copy(src.alignment)
tgt.protection = copy(src.protection)
# ======================
# 2. 打开模板工作簿
# ======================
wb = load_workbook("template.xlsx")
template_ws = wb["Template"]
START_ROW = 7
TEMPLATE_ROW = 7
MAX_COL = 15 # A–O
# ======================
# 3. 批量生成工作表
# ======================
for sheet_name, data in all_data.items():
# 复制模板 Sheet
ws = wb.copy_worksheet(template_ws)
# Sheet 名(<=31 字符)
ws.title = str(sheet_name)[:31]
# 写固定信息
ws["E2"] = sheet_name
for j in range(len(data)):
row = START_ROW + j
# 除模板行外,其余行复制格式
if row != TEMPLATE_ROW:
copy_row_style(ws, TEMPLATE_ROW, row, MAX_COL)
# ===== 写数据 =====
a = j + 1
b = data['日期'][j]
c = data['凭证字号'][j]
d = data['摘要'][j]
e = data['科目名称'][j]
f = data['借方金额'][j]
g = data['审定金额'][j]
ws.cell(row=row, column=1, value=a) # A
ws.cell(row=row, column=2, value=b) # B
ws.cell(row=row, column=3, value=c) # C
ws.cell(row=row, column=4, value=d) # D
ws.cell(row=row, column=5, value=e) # E
ws.cell(row=row, column=6, value=f) # F
# 动态列(审定金额)
match = acctdf.loc[acctdf['科目名称'] == e, '列']
if not match.empty:
col_index = int(match.values[0])
ws.cell(row=row, column=col_index, value=g)
# ======================
# 4. 删除模板 Sheet
# ======================
wb.remove(template_ws)
# ======================
# 5. 一次性保存
# ======================
wb.save("全部报表.xlsx")
不得不感叹AI的强大。
改代码
我总是吹牛说自己会Python会SQL,其实我不过是上研究生的时候消磨时间学来的而已,浅浅地入门都算不上,更别说系统性地学习了。而且,我的Python水平都只能说一般,就更别谈别的编程语言,有时候我想改动WordPress主题的一个小功能都费劲,可现在有了AI就完全不一样。
比如,我的站点使用了缓存,所以发布时间总是不准确,我就想把这个功能放到前端去实现,不要让PHP自动生成发布时间。这个小功能我自己肯定也能摸索出来,但估计得花上个几小时,而ChatGPT10分钟就帮我搞定了:
我的WordPress使用了缓存,导致我文章显示日期不准确,有没有什么解决办法?我的模板里有一句<?php echo poi_time_since(strtotime($post->post_date_gmt)); ?>
ChatGPT立马给了解决方案:
<script>
function timeAgo(date) {
const now = new Date();
const seconds = Math.floor((now - date) / 1000);
const intervals = [
{ label: '年', seconds: 31536000 },
{ label: '个月', seconds: 2592000 },
{ label: '天', seconds: 86400 },
{ label: '小时', seconds: 3600 },
{ label: '分钟', seconds: 60 }
];
// 超过 90 天只显示日期
if (seconds > 90 * 86400) {
return date.getFullYear() + '-' +
String(date.getMonth()+1).padStart(2,'0') + '-' +
String(date.getDate()).padStart(2,'0');
}
for (const i of intervals) {
const count = Math.floor(seconds / i.seconds);
if (count >= 1) return count + i.label + '前';
}
return '刚刚';
}
function refreshTime() {
document.querySelectorAll('.post-time, .comment-time').forEach(el => {
if (!el.dataset.time) return;
const date = new Date(el.dataset.time);
el.textContent = '发布于 ' + timeAgo(date);
});
}
// 等 DOM 加载完再执行
document.addEventListener('DOMContentLoaded', function() {
refreshTime();
setInterval(refreshTime, 60000);
});
</script>
只需要把这段js放在footer.php,再替换掉相应的html标签,这样我的文章发布时间就正常多了。
当年使用诺基亚语音拨号的时候、当年苹果发布Siri的时候、第一次使用小爱同学的时候,我总觉得电脑笨成这样,能给人带来多少便利呢,以至于我从来没有期待过AI。
直到最近几年,OpenAI、StableDiffusion、Deepseek、豆包手机,一次又一次给我震撼,我才真正感觉到了未来已来。



Comments | NOTHING