利用 PYTHON 操作 EXCEL文档

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用Python操作Excel

在Excel2010中打开VBA编辑器,请按Alt+F11打开;

以下代码在Excel2007,Excel2010中测试通过;

import win32com.client#导入脚本模块

ExcelApp=win32com.client.Dispatch("Excel.Application")#载入EXCEL模块

ExcelApp.Visible=True#显示EXCEL应用程序

1、新建xls文件

wBook=ExcelApp.Workbooks.Add()#新建空文件,每个文件系统默认建立3个空表

nSheet=wBook.Worksheets.Count#获取文件的表格数,缺省为3

wSheet=wBook.Worksheets(1)#打开指定工作表(注意序号从1开始)wSheet=wBook.Worksheets.Add()#增加新表,新表为第4个表,相当与wBook.Worksheets(4)

="新建表格"#修改新建表格名称,

或者wBook.Worksheets(4).Name="新建表格"

……中间操作……

wBook.SaveAs(strName)#另存文件,注意直接保存用:

wBook.Save()

wBook.Close()#关闭文件(账本)

2、打开和关闭xls文件

xlsPathName=r"E:\000.xls"#指定路径名

wBook=ExcelApp.Workbooks.Open(xlsPathName)#打开指定文件(账本)wSheet=wBook.Worksheets(1)#打开指定工作表(注意序号从1开始)或者wSheet=wBook.Worksheets("Sheet1")#必须使用准确的工作表名称字符串

……中间操作……

wBook.Close()#关闭文件(账本)

3、页面设置

wSheet.PageSetup.PaperSize=9#设置纸张大小,A3=8,A4=9(与Word不同)

wSheet.PageSetup.Orientation=1#设置页面方向,纵向=1,横向=2(与Word不同)

wSheet.PageSetup.TopMargin=3*28.35#页边距上=3cm,

1cm=28.35pt

wSheet.PageSetup.BottomMargin=3*28.35#页边距下=3cm

wSheet.PageSetup.LeftMargin= 2.5*28.35#页边距左=2.5cm

wSheet.PageSetup.RightMargin=2.5*28.35#页边距右=2.5cm

wSheet.PageSetup.CenterHorizontally=True#表格打印位置水平居中wSheet.PageSetup.CenterVertically=False#表格打印位置垂直不居中(最后一页不好看)

wSheet.PageSetup.HeaderMargin=2*28.35#设置页眉位置=2cm(距上边)

wSheet.PageSetup.FooterMargin=1*28.35#设置页脚位置=1cm(距下边)

wSheet.PageSetup.PrintTitleRows="$1:$2"#设置表格标题行

wSheet.PageSetup.CenterHeader="&\"黑体\"&15表格名称"#中央页眉作为表格名称wSheet.PageSetup.CenterFooter="第&P页,共&N页"#中央页脚显示打印页数

wSheet.Rows(5).PageBreak=-4135#在第5行之前插入分页符

注意:表格名称的文本格式设置,详情查询“页眉和页脚的格式代码”

&"黑体"&15#设置字体,字大,颜色

&B&I&U#设置字体加黑、加粗、下划线

&L&C&R#设置左中右对齐

4、单元格操作

cv=wSheet.Cells(1,1).Value#获取单元格数值

wSheet.Cells(1,1).Interior.Color=0xff00ff#设置单元格背景色

cel=wSheet.Cells(2,2)#获取单元格对象

cv=cel.Offset(3,3).Value#获取偏移后的单元格,即(4,4)

#Offset以当前单元格为(1,1),偏移之后的单元格为(a1+a2-1,b1+b2-1)

注:range与Cells,Rows,Columns的绝大多数属性类似,但是后三者

后面可以接序号(2,3)表示具体单元格或行列,不接序号指所有单元格或行列。

5、行列操作

wSheet.Rows.AutoFit()#自动适合行

wSheet.Rows(1).Delete()#删除第1行

wSheet.Columns.Autofit()#自动适合列

wSheet.Columns(1).Delete()#删除第1列

wSheet.Columns(1).Columnwidth=30#设置列宽

wSheet.Columns(1).NumberFormatLocal="000000"#设置数值格式

wSheet.Rows("2:2").Select()#必须选择第2行,才能冻结第1行!!

ExcelApp.ActiveWindow.FreezePanes=True#冻结第1行

6、遍历工作表的所有单元格

nRow=edrange.rows.count#获取指定工作表的行数

nCol=edrange.columns.count#获取指定工作表的列数

for i in range(1,nRow+1):

for j in range(1,nCol+1):

……中间操作……

相关文档
最新文档