fix: 修复excel导出内容有特殊字符出错
This commit is contained in:
parent
54695eff98
commit
9b44c9a05a
@ -20,6 +20,7 @@ from django.core.cache import caches
|
|||||||
from django.db import transaction, models
|
from django.db import transaction, models
|
||||||
from django.db.models import QuerySet, Q
|
from django.db.models import QuerySet, Q
|
||||||
from django.http import StreamingHttpResponse
|
from django.http import StreamingHttpResponse
|
||||||
|
from openpyxl.cell.cell import ILLEGAL_CHARACTERS_RE
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
from application.flow.workflow_manage import Flow
|
from application.flow.workflow_manage import Flow
|
||||||
@ -205,6 +206,8 @@ class ChatSerializers(serializers.Serializer):
|
|||||||
for row_idx, row in enumerate(batch_data, start=i + 2):
|
for row_idx, row in enumerate(batch_data, start=i + 2):
|
||||||
for col_idx, value in enumerate(self.to_row(row), 1):
|
for col_idx, value in enumerate(self.to_row(row), 1):
|
||||||
cell = worksheet.cell(row=row_idx, column=col_idx)
|
cell = worksheet.cell(row=row_idx, column=col_idx)
|
||||||
|
if isinstance(value, str):
|
||||||
|
value = re.sub(ILLEGAL_CHARACTERS_RE, '', value)
|
||||||
cell.value = value
|
cell.value = value
|
||||||
|
|
||||||
output = BytesIO()
|
output = BytesIO()
|
||||||
|
|||||||
@ -21,6 +21,7 @@ from django.db import transaction
|
|||||||
from django.db.models import QuerySet
|
from django.db.models import QuerySet
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
from drf_yasg import openapi
|
from drf_yasg import openapi
|
||||||
|
from openpyxl.cell.cell import ILLEGAL_CHARACTERS_RE
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from xlwt import Utils
|
from xlwt import Utils
|
||||||
|
|
||||||
@ -510,6 +511,8 @@ class DocumentSerializers(ApiMixin, serializers.Serializer):
|
|||||||
for row_idx, row in enumerate(data):
|
for row_idx, row in enumerate(data):
|
||||||
for col_idx, col in enumerate(row):
|
for col_idx, col in enumerate(row):
|
||||||
cell = worksheet.cell(row=row_idx + 1, column=col_idx + 1)
|
cell = worksheet.cell(row=row_idx + 1, column=col_idx + 1)
|
||||||
|
if isinstance(col, str):
|
||||||
|
col = re.sub(ILLEGAL_CHARACTERS_RE, '', col)
|
||||||
cell.value = col
|
cell.value = col
|
||||||
# 创建HttpResponse对象返回Excel文件
|
# 创建HttpResponse对象返回Excel文件
|
||||||
return workbook
|
return workbook
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user