【解决方法】python写Excel单元格截断长文本

原因

只出现在已存在 sharedStrings.xml(共享字符串表) 的 .xlsx 文件;

用 openpyxl 加载→修改单元格→保存后,长文本(通常 > 200--500 字符)后半段丢失;

调试时 cell.value 是完整的,仅写入后截断;

触发条件:

openpyxl ≥3.0(默认优先用 lxml);

lxml ≤5.3.x(有 bug);

文件使用 sharedStrings(Excel 默认开启)。

底层原因:旧版 lxml 在序列化 XML 长文本节点时,缓冲区处理不当导致截断,而 openpyxl 在写入 sharedStrings 时依赖了这个逻辑。

解决方法:升级 lxml 到 5.4.0+

bash 复制代码
pip install --upgrade lxml
  • lxml 5.4.0 修复了长文本序列化 bug;
  • 无需改代码,openpyxl 自动使用新版 lxml。
相关推荐
卷无止境34 分钟前
Python生成器与惰性求值:从yield说起的一场"暂停魔法"
后端·python
卷无止境43 分钟前
从一个装饰器说起:拆解 Python 的 @property
后端·python
农村小镇哥1 小时前
python操作配置文件ini
开发语言·python
love530love9 小时前
OpenClaw Windows Companion 桌面客户端 连接 LM Studio 完整配置指南
人工智能·windows·python·openclaw
cui_ruicheng11 小时前
Python从入门到实战(十六):多进程编程
开发语言·python
_Jimmy_12 小时前
FastAPI + SQLAlchemy全局事务管理
python·fastapi
用户83562907805113 小时前
如何使用 Python 在 Excel 中添加、编辑和删除超链接
后端·python
AC赳赳老秦14 小时前
企业工商公开信息采集分析:OpenClaw 批量查询企业工商信息,生成企业画像报告
大数据·开发语言·python·自动化·php·deepseek·openclaw
FoldWinCard15 小时前
D6 Python 基础语法 --- 保留关键字
开发语言·python
暮暮祈安15 小时前
Celery 新手入门指南
java·数据库·python·flask·httpx