各位用户为了找寻关于Python win32com 操作Exce的简单方法(必看)的资料费劲了很多周折。这里教程网为您整理了关于Python win32com 操作Exce的简单方法(必看)的相关资料,仅供查阅,以下为您介绍关于Python win32com 操作Exce的简单方法(必看)的详细内容
实例如下:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90from
win32com.client
import
Dispatch
import
win32com.client
class
easyExcel:
"""A utility to make it easier to get at Excel. Remembering
to save the data is your problem, as is error handling.
Operates on one workbook at a time."""
def
__init__(
self
, filename
=
None
):
#打开文件或者新建文件(如果不存在的话)
self
.xlApp
=
win32com.client.Dispatch(
'Excel.Application'
)
if
filename:
self
.filename
=
filename
self
.xlBook
=
self
.xlApp.Workbooks.
Open
(filename)
else
:
self
.xlBook
=
self
.xlApp.Workbooks.Add()
self
.filename
=
''
def
save(
self
, newfilename
=
None
):
#保存文件
if
newfilename:
self
.filename
=
newfilename
self
.xlBook.SaveAs(newfilename)
else
:
self
.xlBook.Save()
def
close(
self
):
#关闭文件
self
.xlBook.Close(SaveChanges
=
0
)
del
self
.xlApp
def
getCell(
self
, sheet, row, col):
#获取单元格的数据
"Get value of one cell"
sht
=
self
.xlBook.Worksheets(sheet)
return
sht.Cells(row, col).Value
def
setCell(
self
, sheet, row, col, value):
#设置单元格的数据
"set value of one cell"
sht
=
self
.xlBook.Worksheets(sheet)
sht.Cells(row, col).Value
=
value
def
setCellformat(
self
, sheet, row, col):
#设置单元格的数据
"set value of one cell"
sht
=
self
.xlBook.Worksheets(sheet)
sht.Cells(row, col).Font.Size
=
15
#字体大小
sht.Cells(row, col).Font.Bold
=
True
#是否黑体
sht.Cells(row, col).Name
=
"Arial"
#字体类型
sht.Cells(row, col).Interior.ColorIndex
=
3
#表格背景
#sht.Range("A1").Borders.LineStyle = xlDouble
sht.Cells(row, col).BorderAround(
1
,
4
)
#表格边框
sht.Rows(
3
).RowHeight
=
30
#行高
sht.Cells(row, col).HorizontalAlignment
=
-
4131
#水平居中xlCenter
sht.Cells(row, col).VerticalAlignment
=
-
4160
#
def
deleteRow(
self
, sheet, row):
sht
=
self
.xlBook.Worksheets(sheet)
sht.Rows(row).Delete()
#删除行
sht.Columns(row).Delete()
#删除列
def
getRange(
self
, sheet, row1, col1, row2, col2):
#获得一块区域的数据,返回为一个二维元组
"return a 2d array (i.e. tuple of tuples)"
sht
=
self
.xlBook.Worksheets(sheet)
return
sht.
Range
(sht.Cells(row1, col1), sht.Cells(row2, col2)).Value
def
addPicture(
self
, sheet, pictureName, Left, Top, Width, Height):
#插入图片
"Insert a picture in sheet"
sht
=
self
.xlBook.Worksheets(sheet)
sht.Shapes.AddPicture(pictureName,
1
,
1
, Left, Top, Width, Height)
def
cpSheet(
self
, before):
#复制工作表
"copy sheet"
shts
=
self
.xlBook.Worksheets
shts(
1
).Copy(
None
,shts(
1
))
def
inserRow(
self
,sheet,row):
sht
=
self
.xlBook.Worksheets(sheet)
sht.Rows(row).Insert(
1
)
#下面是一些测试代码。
if
__name__
=
=
"__main__"
:
#PNFILE = r'c:/screenshot.bmp'
xls
=
easyExcel(r
'd:jason.liDesktopempty_book.xlsx'
)
#xls.addPicture('Sheet1', PNFILE, 20,20,1000,1000)
#xls.cpSheet('Sheet1')
xls.setCell(
'sheet1'
,
2
,
'A'
,
88
)
row
=
1
col
=
1
print
(
"*******beginsetCellformat********"
)
# while(row<5):
# while(col<5):
# xls.setCellformat('sheet1',row,col)
# col += 1
# print("row=%s,col=%s" %(row,col))
# row += 1
# col=1
# print("*******row********")
# print("*******endsetCellformat********")
# print("*******deleteRow********")
# xls.deleteRow('sheet1',5)
xls.inserRow(
'sheet1'
,
7
)
xls.save()
xls.close()
以上这篇Python win32com 操作Exce的l简单方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。