openpyxlモジュール(1)は、エクセルの表を操作します

 

 

テーブルを書きます

日時輸入日から
ランダムな輸入の選択肢から、randint
openpyxlインポートワークブック、load_workbookから
openpyxl.drawing.imageインポートイメージから 
openpyxl.stylesからボーダー、横、フォント、配置、インポートPatternFill
openpyxl.comments輸入コメントから
openpyxl.utils輸入単位から
openpyxl.formula.translateインポートトランスレータから
openpyxl.worksheet.datavalidationインポートDataValidationから
openpyxl.styles.fillsからGradientFillをインポート
openpyxl.worksheet.table輸入表から、TableStyleInfo
openpyxl.chart輸入BarChartコントロール、円グラフ、リファレンスから
openpyxl.worksheet.header_footer輸入_HeaderFooterPartから
openpyxl.chart.seriesからのDataPointをインポート

WB =ワークブック()#は、空白のブックを作成します。
                #あなたがWRITE_ONLY = Trueの書き込み専用モードのパラメータを設定した場合、あなたは識字率を向上させることができます
                #しかし、この議論は、ブック内の任意の空白のワークシートが含まれていない可能
                あなたはパラメータを設定しない場合は#、空白のブックは、空のテーブルが含まれています
                #すべてのワークシート・タイトルを見ます

印刷(wb.sheetnames)
defaultws = wb.worksheets [0]#シーケンス番号はシートベンチマークを作成するために使用することができます
印刷(defaultws)
タイトルdefaultws.title =「テーブルのタイトル」#設定ワークシート
defaultws.sheet_properties.tabColor =色「88cc88」#カードの選択設定ワークシート
WS1 = wb.create_sheet(「第一」、0)を直接作業テーブルを作成するタイトル番号を指定して、最初のテーブルの位置0
WS2 = wb.create_sheet( '最後')
WS3 = wb.create_sheet( '最後から二番目'、-1)#最後から2番目の位置-1表インサート紙
WS = wb.active#がアクティブなシートを取得します。
ws.sheet_properties.tabColor = 'ff6666'
WB [「最後から二番目の」] .sheet_properties.tabColor =「3333cc」位タイトル添字が直接ワークシートを配置するために使用することができます
WS [「A1」] =「テキスト細胞」#細胞を標的添字、WRITE_ONLY =組Trueの場合、この形式は使用できません
セル#フォントを設定WS [ 'A1']。フォント=フォント(名前= '中国Xingkai'
                    サイズ= 36、#フォントのセルサイズを設定します
                    #太字、太字=真
                    イタリック= Falseの、#はイタリックありません
                    下線=「なし」、#未下線
                    ストライキ=真、#取り消し線
                    色=「FFaa8844」)#セルのテキストの色


WS [ 'A1']アラインメント=アライメント(水平= '中央'、#セットセルの配置
                            縦=「下」
                            テキストのtext_rotation = 30、#30度回転
                            wrap_text =真、
                            shrink_to_fit = Falseの、
                            インデント= 0)

WS [ 'A2'] = 3.14

WS [「A2」]フィル= GradientFill(タイプ=「線形」、使用色フィルセルに簡単#
                            ストップ=(「00FFFF」、「FF0000」))グラデーション開始色および終了色を設定#

WS [ 'A2']。ボーダー=ボーダー(左=サイド(スタイル= '中'、色= 'FF000000')、#セルの境界線
                        右側=サイド(スタイル= 'ダブル'、色= '00ff0000')、
                        トップ=サイド(スタイル= '厚い'、色= 'ff00ff00')、
                        下=サイド(スタイル= '厚い'、色= 'ff00ff00'))

WS [ "A3"] = date.today()#書き込み日
WS [ 'A3']。埋める= GradientFill(TYPE = 'リニア'、#は、細胞を充填固定背景色の色を設定します
                            ストップ=( '888888'、 '888888'))

行添字からws.cell(行= 1、カラム= 4、値= "= SUM(A1、A2)")#1が開始されています
                                            #write_only =真、書込み専用モードは、セルの使用()メソッドを許可しません

セルのためのWS [ 'D1']。コメント=コメント(テキスト= '注釈コンテンツ'、著者= 'ztx_taylor')#コメント設定
WS [ 'D1']。comment.width = units.points_to_pixels(100)#設定された幅と高さの注意
幅と高さの注意設定WS [ 'D1']。comment.height = units.points_to_pixels(20)#


前回の決定からのアクセス#B、C列のすべてのセル、この時点では3行のみ、書き込み動作
WS内の列の[ 'B': 'C']:#スライス間隔閉じ
    列のセルのために:
        cell.value = 'BC'

アクセスライン#4の全ての細胞は、わずか4、前回の書き込み動作によって決定します
WSのセルのための[4]:
    cell.value = 4

上記の書き込み動作によって決まるだけの4つのアクセスライン#5、全てのライン8細胞、
[5:8] WSの行のための:
    行のセルのために:
        cell.value = 58
ws.append(範囲(10))#この方法プラスラインを使用= WRITE_ONLY、真のみシーケンシャル書き込みモードを追加することによって返されます
ws.append([ ''、 'B'、 'C​​'、 'D'、 'E'])#ラインが添加されます

#画像ファイルを開きます。
#IMG =画像( 'E:\旅行写真\画像素材\\ 789899.jpg')

##印刷(あなた(IMG))
## img.height // = 3
## img.width // = 3
#Ws.column_dimensions [ 'A']。幅= 30.0#セットセル幅
#Ws.row_dimensions [11] .height = 40.0#セットセルの高

#ws.add_image(IMG、 "A11")


#設定選択ボックス
#ワークシートのセルのための検証ルールを追加します。
DV = DataValidation(タイプ=「リスト」、#制約セルの内容は、リストで選択する必要があります
                    formula1 = ' "赤、緑、青の"'、
                    allow_blank =真)

dv.error =「コンテンツは、もはやリストではありません」
dv.errorTitle =「無効な入力」
dv.prompt =「リストから選択してください。」
dv.promptTitle = '1を選択します'

C1 = WS [ "A12"]
セルの範囲を設定dv.add(C1)#認証

ws.add_data_validation(DV)#検証ワークシートを追加


#サイズ制限デジタル入力を設定します。
DV = DataValidation(タイプ= '全体'
                    演算子=「演算子:GreaterThan」
                    formula1 = 100)
dv.error =「100は、以上の整数の大きなを入力する必要があります」
dv.errorTitle =「無効な入力」
A13 = WS [ "A13"]
dv.add(A13)
ws.add_data_validation(DV)


#本当の0と1の間の数、種類などを入力しても、日付の時間がかかるかもしれません
DV = DataValidation(タイプ= '進'
                    演算子=「」の間、
                    Formula1 = 0、formula2 = 1)
dv.error =「0と1の間の実数を入力する必要があります」
dv.errorTitle =「無効な入力」
A14 = WS [ 'A14']
dv.add(A14)
ws.add_data_validation(DV)


DV = DataValidation(TYPE = 'textLength'、#8は、以下のコンテンツの長さよりも
                    オペレータは、= 'lessThanOrEqual'、#動作の値は、NOTEQUAL、greaterThanOrEqual、の間であってもよいです
                        #lessThan、notBetween、lessThanOrEqual、等しい、演算子:GreaterThan
                    formula1 = 8)
dv.error =「内容は以下でなければなりません長さ8」
dv.errorTitle =「無効な入力」
A15 = WS [ 'A15']
dv.add(A15)
ws.add_data_validation(DV)

二つの方法:( 'D4 A2')#はセルws2.merge_cellsを合併しました
ws2.merge_cells(START_ROW = 5、start_column = 1、END_ROW = 8、end_column = 6)

WS2 [ 'A10']値= 'A10'
WS2 [ 'A11'] = 'A11'
WS2 [ 'B10']値= 'B10'
WS2 [ 'B11']値= 'B11'

#openpyxlバージョンで使用するには何がバージョン2.5で使用することができます
#Ws2.insert_cols(2)#は、第2の列Aに挿入され
11行目位Ws2.insert_rows(11,2)#位置二列に
連続消去2の第2行から#Ws2.delete_cols(2,2)#スタート
カラム11からカラムを除去#Ws2.delete_rows(12,2)#2の連続した開始

#ws3.row_dimensions.group(3,10、隠された=真)

defaultws.append(リスト(マップ(ラムダI: "第{}列" .format(I)、範囲(1,11)))+ [ '求和'])
defaultws.append(選択肢(範囲(10,50)、K = 10))
defaultws [ 'K2'] = "= SUM(A2:J2)"
(3,7)の範囲内のiについて:
    defaultws.append(選択肢(範囲(10,50)、K = 10))
    位置= 'K' + STR(I)
    #テーブルで選択したセルに対応する変換式が引き下げられ
    defaultws [位置] =トランスレータ(defaultws [ 'K2']値
    起源= 'K2')。translate_formula(位置)
チャート= BarChartコントロール()#は、ヒストグラムを作成します
chart.add_data(参考(defaultws、#は、ヒストグラムを作成するために使用される細胞のワークシートの範囲を指定
                    min_col = 1、min_row = 1、max_col = 10、max_row = 6)、
                    ラベル伝説のテキストの最初の行のセルのtitles_from_data = TRUE)#範囲
chart.height * = 1.2
chart.width * = 1.2
defaultws.add_chart(チャート、 'A12')



#円グラフを作成します。
チャート=円グラフ()#ラベル6のように第1フロント行を使用して、円グラフを作成し、6前データとして第2カラム
chart.add_data(リファレンス(defaultws、min_col = 1、min_row = 2、max_col = 6)、
                        from_rows =真、#この行が重要である、デフォルト値はファレスラベルであり、データの要件は縦です
                        titles_from_data =偽)
chart.set_categories(リファレンス(defaultws、min_col = 1、min_row = 1、max_col = 6))
defaultws.add_chart(チャート、 'L1')


(25,31)の範囲内のiについて:
    位置= 'A' + STR(I)
    defaultws [位置] .VALUE =位置
    defaultws [ 'B' + STR(I)] = randint(1100)
チャート=円グラフ()
lables =リファレンス(defaultws、範囲の文字列= 'デフォルトA25 :! A30')#設定領域および均等物min_col min_row
データ=基準(=範囲の文字列defaultws、 'morenをB25:!B30')
chart.add_data(データ、titles_from_data =偽)
chart.dataLabels
chart.title = 'パイ'
chart.width //=1.5
chart.set_categories(lables)

#パイの中心から最初のブロックと第3ブロックを離れてみましょう
chart.series [0] .data_points =〔のDataPoint(IDX = 0、爆発= 20)、#IDX示しパイセクタ
                                DataPoint(IDX = 2、爆発= 30)]
defaultws.add_chart(チャート、 'D25')


#裁判官ディレクトリが削除された再生成するだろう、ファイルを一度に保存するために存在します
輸入OS
パス1 = 'F:\ my_pythontest \ sssss.xlsx'
os.path.exists(パス1)の場合:
    os.remove(パス1)
    wb.save( 'sssss.xlsx')
他:
    wb.save( 'sssss.xlsx')

  

おすすめ

転載: www.cnblogs.com/taysem/p/12032409.html