如果是手动调用 xlwt
这种第三方库除了错可能没法找错误,但是从错误中我们看到错误是由 openpyxl
抛出的,我们试着从 openpyxl
中找解决方案
出错处的代码
value = value[:32767]
if next(ILLEGAL_CHARACTERS_RE.finditer(value), None):
raise IllegalCharacterError
return value
意思很明显了, 如果找非非法字符则抛出错误,ILLEGAL_CHARACTERS_RE
就定义了非法字符,它是这样的
ILLEGAL_CHARACTERS_RE = re.compile(r'[ 00- 10]|[ 13- 14]|[ 16- 37]')
所以处理 content
时用这个正则去掉非法字符即可
content = ILLEGAL_CHARACTERS_RE.sub(r'', content)