【解决方法】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+

pip install --upgrade lxml
  • lxml 5.4.0 修复了长文本序列化 bug;
  • 无需改代码,openpyxl 自动使用新版 lxml。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值