From e93c6c78f8261dd017716eb39e33522e855baa08 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Tue, 19 Sep 2023 21:15:32 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=94=9F=E7=89=A9=E7=94=B1=E6=9D=A5Exce?= =?UTF-8?q?l=E5=87=BA=E5=8A=9B=E3=81=A7=E3=80=81=E4=BB=A5=E4=B8=8B?= =?UTF-8?q?=E3=81=AE=E4=BF=AE=E6=AD=A3=E5=AF=BE=E5=BF=9C=E3=82=92=E5=AE=9F?= =?UTF-8?q?=E6=96=BD=20=E3=83=BBVeeva=E5=8D=B8=E3=82=B3=E3=83=BC=E3=83=89?= =?UTF-8?q?=E3=80=81Veeva=E5=8D=B8=E7=B5=84=E7=B9=94=E3=82=B3=E3=83=BC?= =?UTF-8?q?=E3=83=89=E3=80=81Veeva=E5=8F=96=E5=BC=95=E5=8C=BA=E5=88=86?= =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=83=89=E3=81=8C=E6=95=B0=E5=80=A4=E5=9E=8B?= =?UTF-8?q?=E3=81=A7=E5=87=BA=E5=8A=9B=E3=81=95=E3=82=8C=E3=81=A6=E3=81=84?= =?UTF-8?q?=E3=81=9F=E3=81=AE=E3=82=92=E3=80=81=E6=96=87=E5=AD=97=E5=88=97?= =?UTF-8?q?=E5=9E=8B=E3=81=AB=E5=A4=89=E6=8F=9B=20=E3=83=BB=E5=87=BA?= =?UTF-8?q?=E5=8A=9B=E3=81=97=E3=81=9FExcel=E3=81=AB=E7=BD=AB=E7=B7=9A?= =?UTF-8?q?=E3=82=92=E5=BC=95=E3=81=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repositories/bio_sales_lot_repository.py | 6 +++--- .../src/services/bio_view_service.py | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py b/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py index 10c7cba3..ef10aa32 100644 --- a/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py +++ b/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py @@ -45,10 +45,10 @@ class BioSalesLotRepository(BaseRepository): inst_name_form, address, tel_num, - v_whs_cd, - v_whsorg_cd, + CAST(v_whs_cd AS CHAR) AS v_whs_cd, + CAST(v_whsorg_cd AS CHAR) AS v_whsorg_cd, whs_org_name, - v_tran_cd, + CAST(v_tran_cd AS CHAR) AS v_tran_cd, iko_flg FROM src05.bio_sales_lot diff --git a/ecs/jskult-webapp/src/services/bio_view_service.py b/ecs/jskult-webapp/src/services/bio_view_service.py index cf9961ac..45b80162 100644 --- a/ecs/jskult-webapp/src/services/bio_view_service.py +++ b/ecs/jskult-webapp/src/services/bio_view_service.py @@ -5,6 +5,7 @@ import shutil from datetime import datetime import pandas as pd +from openpyxl.styles.borders import Border, Side from src.aws.aws_api_client import AWSAPIClient from src.aws.s3 import S3Client @@ -155,9 +156,20 @@ class BioViewService(BaseService): data_frame_chunk_size = 2000 # 各部分データフレームのサイズ is_first = True # ループの初回 data_frame_range = len(data_frame) + side = Side(style='thin', color='000000') + border = Border(top=side, bottom=side, left=side, right=side) + # 出力したExcelに罫線を引く + workbook = writer.book + sheet = workbook['Sheet1'] + for row in sheet[f'A1:AK{i + data_frame_chunk_size}']: + for cell in row: + cell.border = border + + # 指定行数ごとにデータを分割して処理 for i in range(0, data_frame_range, data_frame_chunk_size): chunk_df = data_frame.iloc[i:i + data_frame_chunk_size] + start_row = i + 1 # 1回目の分割では、ヘッダ部分を上書きしないようにする if is_first: @@ -166,6 +178,13 @@ class BioViewService(BaseService): await loop.run_in_executor(None, functools.partial( chunk_df.to_excel, writer, header=False, index=False, startrow=start_row, startcol=0)) + # workbook = writer.book + # sheet = workbook['Sheet1'] + # side = Side(style='thin', color='000000') + # border = Border(top=side, bottom=side, left=side, right=side) + # for row in sheet[f'A1:AK{data_frame_range + 1}']: + # for cell in row: + # cell.border = border return output_file_path