# Codex CSV 导出修复：让备注以文本打开，保留原始数据

Codex CSV 导出修复。已真实下载两份CSV，并用本机LibreOffice导入检查公式/文本边界；具体版本和结果以随包spreadsheet-report.json为准。

## 开始

先读 task.md 和 prompt.md。starter 是可打开但未实现任务逻辑的起点工程，reference 是本站人工完成的参考。目标代理没有参与生成此次原生账号会话，不能把参考代码称为该产品已执行结果。

```bash
python3 -m http.server 8073 --directory reference
```

HTTP网页访问 http://127.0.0.1:8073/ ，按顺序点击输入、操作和导出控件。8073是示例端口，可自行换用空闲端口。

## 文件

- starter/：起点工程及明确需求。
- reference/：可运行人工参考、原创输入和实际运行结果。
- task.md：七步任务和独立验收。
- verify.py：回读实际下载文件、结果结构和边界的检查。
- native-*-draft.*（若有）：原生结构草案，明确未完成导入/运行验证。

## 本题操作要点

1. raw.json为12行虚构反馈；note是文本列、amount是明确数值列。不要把业务金额也盲目加上文本防护前缀。

2. 先下载before.csv，样本只用=1+1等无害公式；在实际表格程序中查看它是文本还是计算值，并记下导入选项。

3. 覆盖制表符前缀、空格前缀、逗号、双引号和多行备注。CSV双引号转义只能保持边界，不能单独防止公式解释。

4. 参考实现仅在导出note时加入前置单引号策略；raw.json不改，amount保持原数值。这是明确目标程序下的文本展示策略。

5. 下载safe.csv后用CSV解析器核对仍有12行、3列，中文、换行和引号能回读。防护后文本可能带可见前缀，文中说明这项取舍。

6. 用本机LibreOffice实际导入并导出XLSX，检查单元格的公式/字符串类型。版本与过滤参数在spreadsheet-report.json，不把字节校验当成Excel已打开。

7. 分别保留before/safe CSV、原始JSON哈希和实际导入证据。不同表格软件或导入设置需重新验证，不保证CSV在任意下游都安全。

## 官方依据

- https://developers.openai.com/codex/cli
- https://community.owasp.org/attacks/CSV_Injection

Google与抖音查询词是内容目标，不代表实测搜索量、热榜或流量结果。
