python+win32--com实现excel自动化


 import win32com
 
 APP_TYPE = 'Excel.Application'
 
 xlBlack,xlRed,xlGray,xlBlue = 1,3,15,41
 xlBreakFull = 1
 
 #初始化应用程序
 xls = win32com.client.Dispatch(APP_TYPE)
 xls.Visible = True
 book = xls.Workbooks.Add()
 sheet = book.Worksheets(1)
 
 #插入标题
 ROW_PER_PAGE,COL_PER_ROW = 10, 10
 row_index,col_index = 1
 title_range = sheet.Range(sheet.Cells(row_index,col_index), sheet.Cells(row_index, COL_PER_ROW))
 title_range.MergeCells = True
 title_range.Font.Bold,title_range.Interior.ColorIndex = True,xlGray
 title_range.Value = 'Hello,Word'
 row_index += 1
 
 #插入内容 10*10的数列
 for row in range(0, 10):
  col_index = 1
  for col in range(0, COL_PER_ROW):
   cell_range = sheet.Cells(row_index, col_index)
   cell_range.Font.Color,cell_range.Value = xlBlue,str(row)
  row_index += 1
 
 #插入分页符
 right_bottom_range = sheet.Cells(row_index, COL_PER_ROW+1)
 right_bottom_range.PageBreak = xlBreakFull
 
 #插入图片
 col_index = 1
 lt_range = sheet.Cells(row_index, col_index)
 graph_width = sheet.Range(sheet.Cells(row_index,1), sheet.Cells(row_index, COL_PER_ROW)).Width
 graph_height = sheet.Range(sheet.CellS(row_index,1), sheet.Cells(row_index+ROW_PER_PAGE, 1)).Height
 sheet.Shapes.AddPicture('C:\\test.jpg', False, True, lt_range.Left, lt_range.Top, graph_width, graph_height)

posted @ 2018-08-25 17:01  Jaww  阅读(360)  评论(0编辑  收藏  举报