fix: 生物由来Excel出力で、以下の修正対応を実施
・Veeva卸コード、Veeva卸組織コード、Veeva取引区分コードが数値型で出力されていたのを、文字列型に変換 ・出力したExcelに罫線を引く
This commit is contained in:
parent
a840e14b09
commit
e93c6c78f8
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user