Python-Excel-02-对已存在Excel:打开,赋值,保存,关闭

微信公众号原文

系统:Windows 7
语言版本:Anaconda3-4.3.0.1-Windows-x86_64
编辑器:pycharm-community-2016.3.2

  • 这个系列讲讲Python对Excel的操作
  • 今天讲讲win32com模块对已有Excel文件的操作:打开,赋值,保存,关闭

Part 1:代码

import os
import win32com
from win32com.client import constants as c  # 旨在直接使用VBA常数

current_address = os.path.abspath('.')
excel_address = os.path.join(current_address, "示例.xlsx")
print(current_address)
xl_app = win32com.client.gencache.EnsureDispatch("Excel.Application")  # 若想引用常数的话使用此法调用Excel
xl_app.Visible = False  # 是否显示Excel文件
wb = xl_app.Workbooks.Open(excel_address)
sht = wb.Worksheets(1)
sht.Name = "示例"

sht.Range("A1").Value = "小试牛刀"
wb.Save()
wb.Close()

代码截图

Python-Excel-02-对已存在Excel:打开,赋值,保存,关闭_第1张图片
1.png

Part 2:部分代码解读

  1. 代码结构:引入模块;主体部分;
  2. current_address = os.path.abspath('.'),获取当前文件所在路径
  3. os.path.join(current_address, "示例.xlsx"),获取示例.xlsx文件的绝对地址
  4. xl_app = win32com.client.gencache.EnsureDispatch("Excel.Application"),引用Excel对象,接下来的代码都可以按照VBA方式来写,注意Python是大小写敏感的,这一点与VBA不同
  5. Excel三大对象:工作簿-工作表-单元格
    • wb表示工作簿对象
    • sht表示工作表对象
    • sht.Range("A1")表示第1个工作表的A1单元格
    • 注意这里的sht.Range("A1").ValueValue不能省略
  6. 综上整体上与VBA代码一样,但是细节之处要求更高

本文为原创作品,欢迎分享朋友圈

常按图片识别二维码,关注本公众号
Python 优雅 帅气


12x0.8.jpg

你可能感兴趣的:(Python-Excel-02-对已存在Excel:打开,赋值,保存,关闭)