From 12744406cf9ba7061b743dee213749abe94a307a Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Wed, 20 Sep 2023 16:22:21 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20Excel=E3=81=AE=E7=BD=AB=E7=B7=9A?= =?UTF-8?q?=E3=82=92=E5=BC=95=E3=81=8F=E5=87=A6=E7=90=86=E3=82=92=E9=AB=98?= =?UTF-8?q?=E9=80=9F=E5=8C=96=E3=80=82=E8=A8=AD=E5=AE=9A=E6=B8=88=E3=81=BF?= =?UTF-8?q?=E3=81=AE=E6=9B=B8=E5=BC=8F=E3=82=92=E5=8F=8D=E6=98=A0=E3=81=95?= =?UTF-8?q?=E3=81=9B=E3=81=A6=E3=81=84=E3=81=8F=E6=96=B9=E5=BC=8F=E3=81=AB?= =?UTF-8?q?=E3=81=97=E3=81=9F=E3=80=82template=E3=81=AEExcel=E3=81=AEA2?= =?UTF-8?q?=E3=82=BB=E3=83=AB=E3=81=AB=E4=BA=88=E3=82=81=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/data/BioData_template.xlsx | Bin 10423 -> 10529 bytes .../src/services/bio_view_service.py | 9 ++++----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/ecs/jskult-webapp/src/data/BioData_template.xlsx b/ecs/jskult-webapp/src/data/BioData_template.xlsx index ec1575a2932f20bd823620b1001e6192ca7f420b..c548d30828ed6f81555c9211fc37a14aedde2297 100644 GIT binary patch delta 4053 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 Yq8DIh0$zCv08n4`_A3)DzQ1Pw0NHz0L;wH) delta 3876 zcmZ8k2T&8t)(xRZs3DXfqO^o2p@!BpN|X-L1O<$MfCAE@bfid;A}ti@ z3euY(O+xQT=p6(e&Oh^g|9iVLJ9lT!-krU7@0@$m^(u9XXJ|lLH-*dcfdGIA;R**B)y}4J~c`U*Vl{yhJV3{vbrVAOd?s=sRXQZyKK{8+M5E%1IL5i&SjJ3 z!3VkQK!BZIvZ*P&-o>~_!#={G8E%Z{z{CwS>Ph(N+i6J?+?_icnFD$EG(=&}ERd5c z4CThOEv=!0@VE-Z)dJ1%E zFLbds^oHGaV84A?3~EE^_0Xg%{pN-TAKeQQ2HKZ*q^=Q{3;Y3u$YA<&2(9#lop6$eW#Q;+bh&G}}rd`hh}Mpj9BnWogJq`ld0bVKCM3&0WRCoBCn z^FtPqZqzes4F{7ZwoEsu@%=!gWu{oVySu7WguPj&_q#4k;V*l^!%^Id0>kZVvt3=M z@rGu`F5QdZsDwVpSX~Vpi82f`{jBl;CLt`4+26LkV%;SWnC#gvvejWvwf=L{tF7aP z-%DL?KXG zPAfj6yt{JQ>xW1L@9>3e9*>{*(NP2Zq@Uh&6_JYzNEI8Or%W|!URQaCeA2(bN5?=3 zxt^hQ8#r))Y2-M~a@Bmb)a0A4g|zZp;MKi)*OD%O>6>dcfjW=~)6j>mT$Ra!8{W>| z&F%PGd3JfI!h~o?5xVKo8z#VUQun?1TL*7yRJ5i0GfR%c`vPuGHw|!eNAYrB7pfLl z{&Rsq0b(Q0&`1M8ibXkx4AcNXFTn@Gk9SFuWD8ywT2+B$7XqjbqqG9PY_49eI@$nabiWM-s1zyQXv}{~vX(>|2sxeD$tq$4NRf~+i_|oXS z$26ygq&w^EHV(+#LP$*ZGd=0PG^}NMwryLt+PgmlG3FaCnpZQtn;8lou75Z8DX&iE zH}) z55B!#gwmt8Tx-{W8gfSEgj+1gZV|clD8G*vK#Vj@!d$WPQr!z zCmasMt3S98eJ1BNrJxu~n9aFv74aO3*)$g1m9!Z)iygWRL7{|@boI(5 z)Q@|Dupdfe+sHiSrC)B2w@Q1P4wuOl{C89PK>r`8FOD}V z7@etF2AJ+DT$EWdy_1%|hqE=3bmq_}5nUj-?}i*?d*-1}`eUyQId>VGXeJ^Qbeg0w z7t};gx0ucqC!o7Z*H;FJ;oI6DLUT^t8U_KhgEplKt}Hqh>|ky9tE z*wmr7+{S4=fY!XcndjBk=@C5+~-c6R|SWk8f^emYS|owhxUb*K&_gypsiTVT25ov`Q{&? z4iakEF>hC^=FiX^>{zrFc=rSN(-Ddm=QqZ(TvrRM)<#YtKcdk)`>f_JY8+#~9l0 zegag#>wO^UYpoFs&&~J;QlcOFSG(U%TNC2b*$)GM%E!H8*%D2#d{y5OOzZz%Q|h)Q z+?tI*;J64;?y_93iBegttr4#AS%2bwN=fYEh`)fB*<{lzIS&bn0RUh;kBYaWguBNx z$4Bns-cF9S*l}l)3|l=0T*@$4^xOgnX2m+xiqZ@i1EgB_H7W50D z@Clq?yHrd;8C-ks<-`K}Q}nOsv26dvvT_NSp2Fl|k3{d>Gcz|2)%TC}V6qAz$qatN zO+0HS)tN`abCvKiK7OGGbcs`pg9nE@Bp1O^N7*`KU3)N!Hf8F))JnGUE4Za^nIIMrYWcXW2QT-uP*tmUv?!_r#Le@xoo z4I78;@r$baDnlS)LJQEVCsf((d2X9v_)HUZ*_>FVzu5=RCRv`*hM@aoJbJu$+Dn*( zma|%;z=~&fq=U$MLO{muA&*8oyd}V>WWGb`?E_OpKd11!Wta_4gnC-$=2M87y6u%8 zLJ$TK3)UUhszp<{>E#O;S*3^`e;~@Y^%(W0r7gs1jElaoQ+N?N)Rr3Na~5P_Z^o

W z-j?m@5oN9IFvt-X-vjk#bCnj7hg()?YV5;@Qh8>-D$jWsGkwgIiED&P_gemX>yFC1p#0p}@ z%koPw6IW5aEOF7_-Q^+8Q6sU6*XQV;=jLJ1$w%~cM!wA42VrvU5E;Y4B%6t(9HdLF zY;A5nnf{e+vKd6l8b+C)Ec3JumXkm0n~Gz}8Z33=h|LT_Gj$rt)6WOFQA}J|MELVu3%y6hWi0}%KsmAkTN%-c-t z$IJ#MLy0u@AUgYEPLWjCqefL)&p(T(NJlA$z|Y$9PGn~XhZ`>ijs+8=N3M4lB<#z? z;I(?SCj6F+y5Fvr>Y+M$kDCkmHnI=5_$S`adzD$vf;%}DBd+@Tj|p` z@RHbP@!+%%(UIFo7o*lpa$y`XFuB(#nckch>-&2srOQi~;q7zlxrWeY1sk7dB{fzx z0jr>%3bs`04)E!|`m1vKRd84$mXLb?l;Ur)K*P!Qx3bQ2Bt|Ub<)ye7Q{sFsHiGwo zei!_GG;bmT8q+x0w89t|39EdU@z*?$pPg+kwh9c+7Z%2FsFY1SvQpAe4d^)-t9BA} zMn3FSdIN)e;TBz&Wc3N3(QClxV80lt}UW>XqK)iRha zhc$B5ZY|WS-Q7~SCjncdHH$dBFHIB5=i1kQ7Q8Uw;k)Tfbm274@4csgA5ZzcasW9* z#p8FYJuc-Nrad<|-udl4fNHg+;0oZS3@id+a(zw( zvMO-?v;G{_a&bP3o=EBX@5VaA3UfN1e4UUnj_t({!)p5y zYr(xmi%{Z@N{6;muE^n5_bzJ;h@FVLA`c{J3chCiM-I{e0L+AGK{kS-5I12!kPBD< zB5VkXasSh9LjVBIa}xb`OwtoxLbwPF!lFPv7J{rWocn(X_g`!?lu#+eb6&k%!1PN5 zJ_Zg#m=M_HpBg^bqb&b|&n@z0008G=t>fnM#9hML#qH5w%GS}K03rZv02%=8IfM`J y&-Xg#c<_H6uP0Oq3lPkNxey5g|KE|PyN8R@|GA<*e=q<*e?GsR-#!KZyZaCCvl^cO diff --git a/ecs/jskult-webapp/src/services/bio_view_service.py b/ecs/jskult-webapp/src/services/bio_view_service.py index 719e90d4..28a96621 100644 --- a/ecs/jskult-webapp/src/services/bio_view_service.py +++ b/ecs/jskult-webapp/src/services/bio_view_service.py @@ -5,7 +5,6 @@ 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 @@ -157,11 +156,11 @@ class BioViewService(BaseService): # Excelに罫線を引く 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}']: + # A2セルに罫線の書式を設定しておき、同じ書式を設定する + formatted_cell = sheet['A2'] + for row in sheet[f'A2:AK{data_frame_range + 1}']: for cell in row: - cell.border = border + cell._style = formatted_cell._style data_frame_chunk_size = 2000 # 1回あたりの書き出し行数 is_first = True # ループの初回