![]()
笔者在运营工作中常写日报,但由于懒得打字写文案,会把描述性统计工作交由 AI 写好后再在它的基础上修改,工作提效。
以下是我向 AI 提供数据的几种方法,分为两类表格场景。
1. 复杂表
如下所示,含有合并单元格或复杂层级结构的表格,直接复制粘贴会丢失层级结构,AI 无法理解。
| Turnover | Platform Fee |
| Amount | | | 30541780 | 1207417.14 |
| Rate % | | | | 3.95% |
| Profit | Accruals | Revenue | Cost of product placement in the showcase | Acceptance and transfer of the customer's payment |
| Amount | 29334362.86 | 1207417.14 | 30541780.00 | 799180.53 | 408236.61 |
| Rate % | 96.05% | 3.95% | | 2.62% | 1.34% |
我编写了将表格转 HTML 代码并压缩精简的 VBA 宏,通过 rowspan(跨行)和 colspan(跨列)属性描述多维表的复杂结构,帮助 AI 准确理解表头层级和数据单元格之间的关系,同时通过代码量精简到最低以降低 tokens 消耗。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| Sub ExcelToMinimalHTML() Dim rng As Range Dim htmlStr As String Dim fso As Object Dim ts As Object Dim tempFile As String Dim re As Object
If TypeName(Selection) <> "Range" Then MsgBox "Please select a range to convert!", vbExclamation Exit Sub End If
Set rng = Selection tempFile = Environ("TEMP") & "\temp_excel_" & Format(Now, "yyyymmddhhmmss") & ".html"
With ActiveWorkbook.PublishObjects.Add( _ SourceType:=xlSourceRange, _ Filename:=tempFile, _ Sheet:=rng.Worksheet.Name, _ Source:=rng.Address, _ HtmlType:=xlHtmlStatic) .Publish True End With
Set fso = CreateObject("Scripting.FileSystemObject") Set ts = fso.OpenTextFile(tempFile, 1, False, -2) htmlStr = ts.ReadAll ts.Close fso.DeleteFile tempFile
Set re = CreateObject("VBScript.RegExp") re.Global = True re.IgnoreCase = True
re.Pattern = "<!\[if\s+supportMisalignedColumns\]>[\s\S]*?<!\[endif\]>" htmlStr = re.Replace(htmlStr, "")
re.Pattern = "<head\b[^>]*>[\s\S]*?</head>" htmlStr = re.Replace(htmlStr, "")
re.Pattern = "<!--[\s\S]*?-->" htmlStr = re.Replace(htmlStr, "")
re.Pattern = "<span\b[^>]*>\s* \s*</span>" htmlStr = re.Replace(htmlStr, "")
re.Pattern = ">\s+<" htmlStr = re.Replace(htmlStr, "><")
re.Pattern = "\s+(?!(rowspan|colspan)\b)[A-Za-z0-9\-:]+=(?:""[^""]*""|'[^']*'|[^>\s]+)" htmlStr = re.Replace(htmlStr, "")
re.Pattern = " " htmlStr = re.Replace(htmlStr, "")
re.Pattern = "\s{2,}" htmlStr = re.Replace(htmlStr, " ")
htmlStr = Trim(htmlStr)
With CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText htmlStr .PutInClipboard End With
End Sub
|
Github: Excel-to-Minimal-HTML
Quicker 动作:选区转HTML
2. 简单表
如下所示,没有合并单元格或复杂层级结构的表格归类为简单表。
| SKU |
Price |
Sales |
Revenue |
| 1041221214 |
113154 |
147 |
17478490 |
| 302609093 |
89999 |
193 |
17426607 |
2.1 直接粘贴
需分析的数据量及列数较少时,可直接在 Excel/WPS 中复制表格区域后,以纯文本形式粘贴(Ctrl+Shift+V)到 AI 对话框中。
此方法会降低 AI 回复准确性,AI 需根据纯文本中的制表符猜测表结构,容易误解。
2.2 转 Markdown 表格
将待分析表格转换为结构清晰的 Markdown 表格后提供给 AI 分析,不存在错误理解数据问题。
转 Markdown 表可使用:
2.3 上传.csv文件
适合数据量超过对话框容纳上限,只能上传附件时使用。
如果原始数据为.xls、.xlsx文件,需手动另存为.csv格式。