#coding=utf-8

from win32com.client importDispatchimportpywintypes'''查看excel最大行数和列数

打开一个空白新建EXCEL表格,按CTRL+下箭头,可以查看到最大行数;按CTRL+右箭头,

可以查看到最大列标(若想显示列数,可在最右一列的某单元格中输入=column()回车,出现数字就是最大列数)。'''

classExcel:def __init__(self, filename=None):

self.excel= Dispatch('Excel.Application') #打开excel应用程序

self.excel.DisplayAlerts =0

self.excel.Visible=0if filename is notNone:

self.filename=filename

self.workBook=self.excel.Workbooks.Open(filename)else:

self.filename= ''self.workBook= self.excel.Workbooks.Add() #新建excel

#保存excel文件

def save(self, save_path=None):if notsave_path:

self.filename=save_path

self.workBook.SaveAs(save_path)else:

self.workBook.Save()#关闭excel文件

defclose(self):

self.workBook.Close(SaveChanges=0)#添加工作表

def addSheet(self, sheetName=None):

sheet=self.workBook.Sheets.Add()if sheetName is notNone:

sheet.Name=sheetNamedef copySheet(self, srcSheetName, destSheetName=None, before=None):

sheet=self.workBook.WorkSheets(srcSheetName)#在指定工作表的后面插入新的工作表

if before isNone:

sheet.Copy(None, sheet)

newSheet=sheet.Nextif destSheetName is notNone:

newSheet.Name=destSheetName#在指定工作表的前面插入新的工作表

else:

sheet.Copy(before, None)if destSheetName is notNone:

index= before.Index - 1 #所获新插入的工作表所在的位置(工作表的index从1开始)

self.workBook.Sheets(index).Name =destSheetName#删除工作表

defdeleteSheet(self, sheetName):try:

sheet=self.workBook.WorkSheets(sheetName)if sheet is notNone:

sheet.Delete()exceptpywintypes.com_error:pass

#获取指定单元格的内容

defgetCell(self, sheet, row, col):

workSheet=self.workBook.WorkSheets(sheet)returnworkSheet.Cells(row, col).Value#设置单元格内容

defsetCell(self, sheet, row, col, val):

workSheet=self.workBook.WorkSheets(sheet)

workSheet.Cells(row, col).Value=val#获取一块区域的内容

defgetRange(self, sheet, row1, col1, row2, col2):

workSheet=self.workBook.WorkSheets(sheet)returnworkSheet.Range(workSheet.Cells(

row1, col1), workSheet.Cells(row2, col2)).Value#拷贝一块区域

defcopyRange(self, sheet, row1, col1, row2, col2, targetRow, targetCol):

workSheet=self.workBook.WorkSheets(sheet)

srcRange=workSheet.Range(

workSheet.Cells(

row1, col1), workSheet.Cells(

row2, col2))

targetRange=workSheet.Range(

workSheet.Cells(

targetRow, targetCol), workSheet.Cells(

targetRow+ row2 - row1, targetCol + col2 -col1))#targetRange.Value = srcRange.Value

srcRange.Copy(targetRange) #与targetRange.Value = srcRange.Value效果相同

#移动一块区域

defcutRange(self, sheet, row1, col1, row2, col2, targetRow, targetCol):

workSheet=self.workBook.WorkSheets(sheet)

srcRange=workSheet.Range(

workSheet.Cells(

row1, col1), workSheet.Cells(

row2, col2))#方案1

#targetRange = workSheet.Range(workSheet.Cells(targetRow, targetCol), workSheet.Cells(targetRow + row2 - row1, targetCol + col2 - col1))

#targetRange.Value = srcRange.Value

#srcRange.Clear() #清空原区域的值

#方案2

#targetRange = workSheet.Range(workSheet.Cells(targetRow, targetCol), workSheet.Cells(targetRow + row2 - row1, targetCol + col2 - col1))

#srcRange.Cut(targetRange) #直接调用系统函数

#方案3与方案2类似

srcRange.Cut(workSheet.Cells(targetRow, targetCol))#清空指定区域内容

defclearRange(self, sheet, row1, col1, row2, col2):

workSheet=self.workBook.WorkSheets(sheet)

srcRange=workSheet.Range(

workSheet.Cells(

row1, col1), workSheet.Cells(

row2, col2))

srcRange.Clear()#添加图片

defaddPicture(self, sheet, pictureName, left, top, width, height):

workSheet=self.workBook.WorkSheets(sheet)''',

AddPicture(self, Filename=, LinkToFile=,

>, Left=, Top=, Width=

hod of win32com.client.CDispatch instance'''workSheet.Shapes.AddPicture(

pictureName,1, 1, left, top, width, height)#删除指定行

defdeletRow(self, sheet, row):if row < 1 or row > 1048576:returndeleteRow=self.workBook.WorkSheets(sheet).Rows(row)

deleteRow.Delete()#删除指定列

defdeleteCol(self, sheet, col):if col < 1 or col > 16384:returndeleteCol=self.workBook.WorkSheets(sheet).Columns(col)

deleteCol.Delete()

python 删除sheet_python操作excel相关推荐

  1. python 删除sheet_Python操作Excel删除一个Sheet

    在使用Python进行数据分析处理,操作Excel,有时需要删除某个Excel里的某个sheet,这里记录一个我测试成功的一个办法 软件环境: 1.OS:Win 10 64位 2.Python 3.7 ...

  2. Python读取和操作Excel(.xlsx)文件

    Python读取和操作Excel(.xlsx)文件 使用openpyxl库来控制excel文件(即.xlsx为后缀的文件).这里介绍一下excel数据的结构. 打开excel文件后生成一个workbo ...

  3. Python中xlrd操作excel单元格

    学习目标 Python中xlrd操作excel单元格 学习内容 1.获取工作表 sheet=data.sheet_by_index(0) 2.返回单元格对象 sheet.cell(1,2) #返回第二 ...

  4. 【Python基础】python使用openpyxl操作excel

    1.openpyxl库介绍 openpyxl最好用的python操作excel表格库,不接受反驳: openpyxl官网链接:openpyxl官网 openpyxl只支持[.xlsx / .xlsm ...

  5. Python通过pywin32操作Excel

    欢迎关注微信公众号"Python小灶,和我一起每天学习Python新知识" 我的Github地址 需求 Excel现在已经成为生活工作中不可缺少的软件之一,如果你经常使用此软件,或 ...

  6. python—openpyxl自动化操作Excel格式文件(6~10课)

    我有点懒直接截图的 仅个人笔记 复习需要 !!!!!! 文章目录 前言 一.安装库openpyxl 二.python打开及读取Excel表格内容 1.Excel表格基本术语 2.打开及读取表格数据 2 ...

  7. python连接excel_Python操作Excel

    使用python来操作Excel需要用到xlrd和xlwt这两个库,作用是在python中读取和写入excel数据,使用前需要安装和import导入: 1.Python 读 excel数据 使用Pyt ...

  8. python提取excel-Python操作Excel之数据提取

    最近发现excel数据量极大,并且通过简单的数据操作不能提取到我需要的数据,如果单独操作,数据量太大耗时太长. 想着通过简单的方式,并且快速提取数据,就想到了Python. python操作Excel ...

  9. python使用openpyxl操作excel

    目录 1 Excel表格 1.1 表格述语 1.2 表格示例 2 python打开及读取表格内容 2.1打开Excel表格并获取表格名称 2.2 通过sheet名称获取表格 2.3 获取表格的尺寸大小 ...

最新文章

  1. linux vga 分辨率低,vga输出 1440x900 分辨率问题
  2. goodness of classification
  3. 1.9 池化层-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  4. 客制化键盘编程_客制化键盘劝退指南
  5. 领域应用 | 用知识图谱玩唐诗,“唐诗别苑”附庸端午节的别样风雅!
  6. iwpriv工具通过ioctl动态获取相应无线网卡驱动的private_args所有扩展参数
  7. 深入理解并发的关键字-synchronized
  8. 三维点云学习(5)4-实现Deeplearning-PointNet-1-数据集的批量读取
  9. ubuntu Mendeley Desktop 安装
  10. Linuxan安装-安装-centos7
  11. Rider 使用Emmylua 代码提示
  12. php yar 安装失败_CentOS搭建Yar框架以及遇到的坑!
  13. java数组转换成单链表_【转】单向链表(单链表)的Java实现
  14. starUML for MAC 破解方法
  15. AltiumDesigner PCB 文件过大
  16. 如何反编译 cocos creator 生成 的jsc文件/反编译jsc文件(一)
  17. 荷马史诗【k叉哈夫曼树】
  18. 博客中的动态图片如何制作
  19. jsx中文是什么牌子口红_cl口红是什么牌子 cl口红中文名字
  20. jq简单的确认弹窗的使用

热门文章

  1. java 对象 转换 工具类_Java中excel与对象的互相转换的通用工具类编写与使用(基于apache-poi-ooxml)...
  2. xgboost通俗_【通俗易懂】XGBoost从入门到实战,非常详细
  3. JAVA中用于处理字符串的 三兄弟
  4. 安卓学习笔记32:实现补间动画
  5. 利用CSS实现悬停下拉菜单
  6. 三种背包问题的例题(各一道)
  7. 2017.5.18-24 基站选址 失败总结
  8. node ajax validator,node/express 4:在ajax post上使用express-validator显示错误
  9. linux防火墙服务关闭,Linux防火墙(firewall)的开启与关闭
  10. 【英语学习】【WOTD】coin of the realm 释义/词源/示例