Python辦公自動化 3.4 Python操作Excel :xlwings 使用教程 讀取 寫入 修改 操作Excel

比起xlrd、xlwt和xlutils,xlwings可豪華多了,它具備以下特點:

  • xlwings能夠非常方便的讀寫Excel文件中的數據,並且能夠進行單元格格式的修改
  • 可以和matplotlib以及pandas無縫連接,支持讀寫numpy、pandas數據類型,將matplotlib可視化圖表導入到excel中。
  • 可以調用Excel文件中VBA寫好的程序,也可以讓VBA調用用Python寫的程序。
  • 開源免費,一直在更新

官網地址:https://www.xlwings.org/

官方文檔:https://docs.xlwings.org/en/stable/api.html

image-20200615140316605

img

3.4.1 pip安裝xlwings

pip install xlwings

3.4.1 xlwings 新建 Excel 文檔

image-20200615142351889

程序示例:

# 3.4.2 xlwings 新建 Excle 文檔
def fun3_4_2():
    # 新建Excle
    app = xw.App(visible=True, add_book=False)

    # 新建工作簿 (如果不接下一條代碼的話,Excel只會一閃而過,賣個萌就走了)
    wb = app.books.add()

    # 保存工作簿
    wb.save('example.xlsx')

    # 退出工作簿
    wb.close()

    # 退出Excel
    app.quit()

執行程序後文件夾增加了“example.xlsx”:

image-20200615142457090

此時表格是空的:

image-20200615142545496

3.4.2 xlwings 打開已存在的 Excel 文檔

現有表格長這樣:

image-20200615142616484

運行程序:

# 3.4.3 xlwings 打開已存在的Excel文件
def fun3_4_3():
    # 新建Excle 默認設置:程序可見,只打開不新建工作薄,屏幕更新關閉
    app = xw.App(visible=True, add_book=False)
    app.display_alerts = False
    app.screen_updating = False

    # 打開已存在的Excel文件
    wb=app.books.open('./3_4 xlwings 修改操作練習.xlsx')

    # 保存工作簿
    wb.save('example_2.xlsx')

    # 退出工作簿
    wb.close()

    # 退出Excel
    app.quit()

生成新的表格:

image-20200615143108657

內容如下:

image-20200615143131537

3.4.3 xlwings 讀寫 Excel

程序示例:

#  3.4.4 xlwings讀寫 Excel
def fun3_4_4():
    # 新建Excle 默認設置:程序可見,只打開不新建工作薄,屏幕更新關閉
    app = xw.App(visible=True, add_book=False)
    app.display_alerts = False
    app.screen_updating = False

    # 打開已存在的Excel文件
    wb=app.books.open('./3_4 xlwings 修改操作練習.xlsx')

    # 獲取sheet對象
    print(wb.sheets)
    sheet = wb.sheets[0]
    # sheet = wb.sheets["sheet1"]

    # 讀取Excel信息
    cellB1_value = sheet.range('B1').value
    print("單元格B1內容爲:",cellB1_value)

    # 清除單元格內容和格式
    sheet.range('A1').clear()

    # 寫入單元格
    sheet.range('A1').value = "xlwings寫入"

    # 保存工作簿
    wb.save('example_3.xlsx')

    # 退出工作簿
    wb.close()

    # 退出Excel
    app.quit()

執行效果:

image-20200615144052827

image-20200615144114603


返回 Python 操作 Excel 主目錄

以上模塊功能沒列舉全,大家有什麼希望的操作可以直接留言,我收到留言後會增加相關操作示例(若有),並對文章進行更新,謝謝大家!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章