ベラ ジョン カジノ ポイント サイトk8 カジノ[解決!Python]OpenPyXLを使ってExcelワークシートのセルの書式設定をするには仮想通貨カジノパチンコパチンコ 当たり 情報
パチンコ 携帯 ゲームk8 カジノ
5 号機 パチスロ連載目次
書体の指定
from openpyxl.styles import Fontheader_font = Font(name='メイリオ', size=16, bold=True, color='000000ff')value_font = Font(name='MS ゴシック')for idx in range(5): r = chr(ord('A')+idx) ws[f'{r}1'].font = header_font ws[f'{r}2'].font = value_font
詳細は以下の「書体の指定」を参照のこと。
セルの塗りつぶし
from openpyxl.styles import PatternFillpf = PatternFill(patternType='solid', fgColor='bbbb00')ws['A1'].fill = pf# パターンを使った塗りつぶしpf = PatternFill(patternType='darkUp', fgColor='ffffff', bgColor='ff0000')ws['B1'].fill = pf# グラデーションを使った塗りつぶしfrom openpyxl.styles import GradientFillgf = GradientFill(type='linear', stop=('ffffff', '888888'))ws['C1'].fill = gf
詳細は以下の「セルの塗りつぶし」を参照のこと。
けい線
from openpyxl.styles import Border, Sideside = Side(border_style='dashDot', color='000000')border0 = Border(left=side, right=side, top=side, bottom=side)border1 = Border(top=side, bottom=side)ws['B4'].border = border0ws['D4'].border = border1border_styles = ['dashDot','dashDotDot', 'dashed','dotted', 'double','hair', 'medium', 'mediumDashDot', 'mediumDashDotDot', 'mediumDashed', 'slantDashDot', 'thick', 'thin']for idx, style in enumerate(border_styles): side = Side(border_style=style, color='000000') border0 = Border(top=side, bottom=side, left=side, right=side) col_idx = f'{chr(ord("A") + (idx % 7) * 2)}' row_idx = idx // 7 + 14 + (idx // 7) cell_idx = f'{col_idx}{row_idx}' ws[cell_idx].border = border0 ws[cell_idx].value = style ws[cell_idx].font = font
詳細は以下の「けい線」を参照のこと。
セルの値の文字そろえ
from openpyxl.styles import Alignmentalignment = Alignment(horizontal='center', vertical='center')ws['A1'].alignment = alignment
詳細は以下の「セルの値の文字そろえ」を参照のこと。
セルの書式設定
ws['A2'].number_format = 'yyyy年mm月dd日'ws['B2'].number_format = 'hh時mm分ss秒 AM/PM'from openpyxl.styles.numbers import FORMAT_NUMBER_00, FORMAT_PERCENTAGE_00ws['D2'].number_format = FORMAT_NUMBER_00ws['E2'].number_format = FORMAT_PERCENTAGE_00
詳細は以下の「セルの書式設定」を参照のこと。
サンプルのワークシート
from openpyxl import Workbookfrom datetime import datetimewb = Workbook()ws = wb.activeheader = ['日付', '時間', '名前', '年齢', 'おじさん度']dt = datetime(2022, 2, 15, 12, 34, 56)values = [dt.date(), dt.time(), 'かわさきしんじ', 123, .87]for idx in range(1, 6): ws.cell(row=1, column=idx, value=header[idx-1]) ws.cell(row=2, column=idx, value=values[idx-1])wb.save('myworkbook.xlsx')
本稿では上記のコードで作成したExcelワークシートを例として使用する(セルの幅や高さは適宜変更する)。
サンプルのワークシート書体の指定
セルに表示される値の書体を変更するには、フォント名、フォントサイズ、文字色などを指定してopenpyxl.styles.Fontクラスのオブジェクトを作成し、それをセルのfont属性にセットする。
以下に例を示す。
from openpyxl.styles import Fontheader_font = Font(name='メイリオ', size=16, bold=True, color='000000ff')value_font = Font(name='MS ゴシック')for idx in range(5): r = chr(ord('A')+idx) ws[f'{r}1'].font = header_font ws[f'{r}2'].font = value_font
一度にまとめて複数のセルのフォントを変更するときには、上の例のように個別にセルのfont属性をセットする必要がある。これは以下の他の書式設定でも同様だ。
サンプルのワークシートに対して、これを行った結果を以下に示す。
フォントの設定が行われたワークシート
Fontクラスのインスタンスを生成する際には以下のような引数を指定可能だ(一部)。「b/bold」は「b」「bold」のどちらを使用しても構わないことを意味する(他の引数も同様)。
セルの塗りつぶし
セルを塗りつぶすには、openpyxl.styles.PatternFillクラスまたはopenpyxl.styles.GradientFillクラスのオブジェクトを作成して、それをセルのfill属性にセットする。
PatternFillクラスを使用した簡単な塗りつぶしの例を以下に示す。
from openpyxl.styles import PatternFillpf = PatternFill(patternType='solid', fgColor='bbbb00')ws['A1'].fill = pf
ここではPatternFillクラスのインスタンス生成でpatternTypeに’solid’を、fgColorに’bbbb00’(暗めの黄色)を渡している。これはfgColorに指定した色のみでセルを塗りつぶすことを意味する。
簡単な例をもう1つ以下に示す。これは、patternTypeに’darkUp’を、fgColorには’ffffff’を、bgColorには’ff0000’を指定している。’darkup’はfgColorの地に、左下から右上に向けた直線をbgColorに指定した色で引いていくことを意味する。
pf = PatternFill(patternType='darkUp', fgColor='ffffff', bgColor='ff0000')ws['B1'].fill = pf
上の2つの例を実行した結果を以下に示す。
セルの塗りつぶしを行った結果
このように、fgColorとbgColorに塗りつぶしに使う色を、patternTypeに塗りつぶしのパターンを指定するのがPatternFillクラスの使い方だ。patternTypeにはさまざまなパターンを指定できる。以下のコードは、これらのパターンでどのような塗りつぶしが行われるかを試すコードだ。
fgColor= 'FF92D050'bgColor = 'FFFFC000'ptypes = ['solid', 'darkGray', 'mediumGray', 'lightGray', 'gray125', 'gray0625', 'darkHorizontal', 'darkVertical', 'darkDown', 'darkUp', 'darkGrid', 'darkTrellis', 'lightHorizontal', 'lightVertical', 'lightDown', 'lightUp', 'lightGrid', 'lightTrellis']font = Font(size=14, color='FF0000')for idx, ptype in enumerate(ptypes): ptn = PatternFill(patternType=ptype, fgColor=fgColor, bgColor=bgColor) col_idx = chr(ord('A') + (idx % 6)) row_idx = idx // 6 + 6 cell_idx = f'{col_idx}{row_idx}' ws[cell_idx].fill = ptn ws[cell_idx].value = ptypes[idx] ws[cell_idx].font = font
実行した結果を以下に示す。
さまざまな塗りつぶしパターン
塗りつぶしパターンを指定するのではなく、グラデーションを用いてセルを塗りつぶすこともできる。これにはもう1つのGradientFillクラスを使用する。簡単な例を以下に示す。セルを塗りつぶすには、先ほどと同じく、GradientFillクラスのオブジェクトを生成して、それをセルのfill属性にセットすればよい。
from openpyxl.styles import GradientFillgf = GradientFill(type='linear', stop=('ffffff', '888888'))ws['C1'].fill = gf
このコードでは、GradientFillクラスのインスタンスを生成する際に、typeに’linear’を、stopにグラデーションの先頭と最後の色(’ffffff’と’888888’)を指定している。これにより、白からグレーに滑らかに変化するグラデーションを使ってセルが塗りつぶされる。
白からグレーへのグラデーションでセルが塗りつぶされたところ
グラデーションのかかり方はデフォルトでは左端がグラデーションの最初の色となり、右端がグラデーションの最後の色となる。この方向はdegree引数に角度を与えることで変更できる。また、なお、stopには3個以上のRGB値を渡すこともできる。以下の例では、3色(黒、赤、白)をstop引数に渡している。この場合は黒→赤→白という順でグラデーションがかかる。
stop = ('000000', 'ff0000', 'ffffff')degrees = (0, 45, 90)for idx, degree in enumerate(degrees): fill = GradientFill(type='linear', stop=stop, degree=degree) col_idx = chr(idx + ord('A')) cell = ws[f'{col_idx}10'].fill = fill
この例では、degreesに0、45、90を指定しているので、それらに応じてグラデーションのかかり方が右→左、左上→右下、上→下と変わっている。
グラデーションのかかり方の違い
typeには’linear’以外に’path’を指定できる。この場合は、top、left、right、bottomに指定した値に応じて、どんなグラデーションになるかが変わる。以下に幾つか例を示す。
stop = ('000000', 'ffffff')fill = GradientFill(type='path', stop=stop, top=0.5, left=0.5)ws['A12'].fill = fillfill = GradientFill(type='path', stop=stop, top=0.2, left=0.2)ws['B12'].fill = fillfill = GradientFill(type='path', stop=stop, top=0.4, left=0.4, right=0.6, bottom=0.6)ws['C12'].fill = fill
このコードを実行すると、以下のようなグラデーションがかかる。
実行結果けい線#CmsMembersControl .CmsMembersControlIn {width:100%;background:url(https://image.itmedia.co.jp/images/spacer.gif) #DDD;opacity:0.05;filter:progid:DXImageTransform.Microsoft.Alpha(Enabled=1,Style=0,Opacity=5);z-index:1;}続きを閲覧するには、ブラウザの JavaScript の設定を有効にする必要があります。仮想通貨カジノパチンコサッカー j リーグ ゲーム