Openpyxlを放棄し、xlwings(python操作xls)を抱擁する
xlwings基礎操作 openpyxlを放棄する基礎理由:1 xlsファイル処理をサポートしない;②現在のバージョンのスタイルで保存されているバグはまだ解決されていない. 上記の2つの問題に遭遇したら、openpyxlを直接放棄し、xlwingsを抱擁しましょう.道はありません. xlwingsドキュメントは国内での検索が基本的に少なく、以下が基本的なセル操作である.
以下のように満たされていない場合は、Office操作ドキュメントを参照してください.xlwingsはapiを調整することができます.
以下のように満たされていない場合は、Office操作ドキュメントを参照してください.xlwingsはapiを調整することができます.
# coding=utf-8
import xlwings as xw
#
app = xw.App(visible=False, add_book=False)
# =============== , =====================
# test2.xlsx ,
# wb = app.books.add()
# ws = wb.sheets.active
# arr = []
# for col in range(1,4):
# arr_temp = []
# for row in range(1,4):
# arr_temp.append(col*10+row)
# arr.append(arr_temp)
# ws.range('A1:B3').value=arr
# wb.save('data/test2.xlsx')
# wb.close()
# app.quit()
# exit()
# ============== , 、 ========================
# demo
load_wb = app.books.open('data/test2.xlsx')
# # ,
load_ws = load_wb.sheets.active
# load_ws = load_wb.sheets['Sheet']
# ( )
rows = load_ws.api.UsedRange.Rows.count
cols = load_ws.api.UsedRange.Columns.count
# print(' :'+str(rows)+' ')
# print(' :'+str(cols)+' ')
# exit()
# 1-① 2 ( : 2-4 )
# load_ws.api.rows('2:4').insert
# 1-② 2-4
# load_ws.api.rows('2:4').delete
# 2-① 2 ( , , )
# load_ws.range('B1:C'+str(cols)).api.insert
# 2-② 2-4
# load_ws.range('B1:C'+str(cols)).api.delete
# ============== , ========================
# load_ws.range('A1').value = 'x11'
# ============== , ========================
# load_ws.range('A1:A2').api.merge
# ============== , index ========================
rng=xw.Range('B2')
#
# print(rng.row)
#
# print(rng.column)
#
print(rng.width)
print(rng.height)
rng.row_height=40
rng.column_width=50
#
# rng.columns.autofit()
rng.rows.autofit()
print(rng.width)
print(rng.height)
# load_ws.range('A1:A2').api.height = 20
# ============== , ========================
# lst=load_ws.range('A1:A'+str(load_ws['A1048576'].end('up').row)).value # excel
# lst1=load_ws.range('A1:C'+str(load_ws['A1048576'].end('up').row)).value # excel
# lst=load_ws.range('A1:A'+str(load_ws['A1048576'].end('up').row)).value #A
# lst2=load_ws.range('C1:C'+str(load_ws['A1048576'].end('up').row)).value#C
# lst3=list(zip(lst,lst2))#
# dicta=dict(lst3)#
# ============== ,Office ========================
# https://docs.microsoft.com/en-us/office/vba/api/excel.range(object)
load_wb.save()
load_wb.close()
app.quit()