pywin32处理Excel

序言

Excel官方文档

1 Excel基本操作

获得行列基本信息,设置行列宽度,高度,字体等。

#!/usr/bin/env python3 
# -*- coding:GBK -*-

import  win32com.client
import  os, sys, logging,re
from    logging import  debug, info

#logging.basicConfig( level = logging.DEBUG, format = '[%(filename)s %(lineno)d ] %(message)s')
logging.basicConfig( level = logging.DEBUG, format = ' %(message)s')

def get_full_name(name):
    if ':' in name:
        return name 
    else:
        name = os.path.join(os.getcwd(), name)
    return name

class  Excel(object):
    def  __init__(self, filename ):
        self.filename   = get_full_name(filename)
        self.sheetcount = 0

    def open(self, name=''):
        if(name!=''): self.filename = os.path.join(os.getcwd(), name )
        self.excel =  win32com.client.Dispatch("Excel.Application")
        #可见
        self.excel.Visible = 1 
        #book 
        self.excelbook = self.excel.Workbooks.Open(self.filename, ReadOnly=False)
        info("open  excel: %s",  self.filename )
        self.sheet =  self.excelbook.Worksheets(self.excelbook.Worksheets.Count)
        #self.excel.Workbooks.Add()
        self.sheetcount = 1
        ##
        info( self.sheet.cells( 3,1).Value )  #行,列
        for i  in range(1,10):
            self.sheet.cells( i,3).Value  = "hello world "+str(i)

        #获取一列数据
        self.sheet.Columns(1).Font.Bold = True  #第一列加粗
        self.sheet.Columns(1).Font.Name = "宋体" #字体
        self.sheet.Columns(1).Font.Color = -16776961  #字体颜色
        #设置列宽
        print("列宽: ", self.sheet.Columns(1).ColumnWidth )
        self.sheet.Columns(3).ColumnWidth = 30  #设置列宽
        info("已经使用行数count : %s"%self.sheet.usedrange.rows.count )
        info("已经使用列数count : %s"%self.sheet.usedrange.columns.count )
        #获得一行数据
        #info( self.sheet.Rows(1) )
        self.sheet.Rows(1).RowHeight = 30   #设置行高度


    def new_sheet(self, name=''):
        if (self.sheetcount == 0):  self.open()
        
        #operate first sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值