首页 > 其他分享 >操作excel的xlwt库难道没有删除sheet 的方法吗?

操作excel的xlwt库难道没有删除sheet 的方法吗?

时间:2023-08-18 14:34:08浏览次数:73  
标签:xlwt sheet 删除 Excel excel sheet1 workbook

大家好,我是皮皮。

一、前言

前几天在Python最强王者群【小马哥】问了一个Python自动化办公处理的问题,一起来看看吧。

各位大神,操作excel的xlwt,这个添加sheet的时候可以用add_sheet方法,xlwt难道没有删除sheet 的方法吗?没有找到怎么用xlwt去删除一个sheet。

image.png

二、实现过程

这里【维哥】给了一个解答,如下:xlwt库本身没有提供删除sheet的方法。但是,您可以通过创建一个新的工作簿,将不需要的sheet从原始工作簿中复制到新工作簿中,然后保存新工作簿来实现删除sheet的目的。

import xlwt

# 创建一个工作簿
workbook = xlwt.Workbook()

# 添加sheet1和sheet2
sheet1 = workbook.add_sheet('Sheet1')
sheet2 = workbook.add_sheet('Sheet2')

# 在sheet1中写入数据
sheet1.write(0, 0, 'Hello')
sheet1.write(0, 1, 'World')

# 在sheet2中写入数据
sheet2.write(0, 0, 'Xlswt')
sheet2.write(0, 1, 'Python')

# 保存工作簿
workbook.save('example.xls')

# 创建一个新的工作簿
new_workbook = xlwt.Workbook()

# 从原始工作簿中复制需要保留的sheet到新工作簿中
for sheet_name in ['Sheet1', 'Sheet3']:  # 将'Sheet3'替换为要删除的sheet名称
    new_sheet = new_workbook.add_sheet(sheet_name)
    for row in range(sheet1.nrows):
        for col in range(sheet1.ncols):
            new_sheet.write(row, col, sheet1.cell_value(row, col))

# 保存新工作簿
new_workbook.save('example_without_deleted_sheet.xls')

这个示例中,我们首先创建了一个包含两个sheet的工作簿。然后,我们创建了一个新的工作簿,并将原始工作簿中的'Sheet1'和'Sheet3'(将'Sheet3'替换为要删除的sheet名称)复制到新工作簿中。最后,我们保存了新工作簿。

image.png

事实上,xlwt模块是用于写入Excel文件的,它并不支持删除sheet的操作。如果您需要删除Excel文件中的某个sheet,可以使用xlrd和xlwt库的结合,实现先读取Excel文件,然后使用xlwt库创建一个新的Excel文件,将需要保留的sheet复制到新的文件中,最后删除旧的Excel文件。

最后发现还是openpyxl库比较香喷喷!后来【D I Y】还推荐了一个Xlutils库,也非常不错。

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python自动化办公Excel表删除处理的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【小马哥】提问,感谢【维哥】、【D I Y】给出的思路和代码解析,感谢【莫生气】等人参与学习交流。

【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。

image.png

标签:xlwt,sheet,删除,Excel,excel,sheet1,workbook
From: https://www.cnblogs.com/dcpeng/p/17640421.html

相关文章

  • 导出运营数据Excel报表_需求分析和设计
       ......
  • Flask + xlwt 以流形式返回Excel文件
    flaskfromioimportBytesIOimportxlwtfromflaskimportsend_file@app.route('/')defget_excel(): bio=BytesIO() wb=xlwt.Workbook(encoding='utf8') sheet=wb.add_sheet('Sheet1',cell_overwrite_ok=True) #写入表头 sty......
  • java springboot excel 上传
    spring.http.multipart.location=/data/server/upload/spring.http.multipart.max-file-size=2048MBspring.http.multipart.max-request-size=2048MBimportjava.io.File;importjavax.servlet.MultipartConfigElement;importorg.springframework.beans.factory.ann......
  • Java导出Excel带格式工具类
    Java导出Excel里面有具体内容,带有格式。可以创建工具类直接去使用/***通用模版下载*@paramoutputStream以流的形式输出到浏览器*@paramexcelName下载excel的文件名称*@paramWaring提示语言*@paramtitleS标题列*@paramcontentS......
  • Java导出Excel带格式工具类
    Java导出Excel里面有具体内容,带有格式。可以创建工具类直接去使用/***通用模版下载*@paramoutputStream以流的形式输出到浏览器*@paramexcelName下载excel的文件名称*@paramWaring提示语言*@paramtitleS标题列*@paramcontentS......
  • go excel文件处理
    go excel操作packageutilimport("github.com/extrame/xls""github.com/tealeg/xlsx""reflect""strings")//ReadXlsxxlsx解析funcReadXlsx(sheet*xlsx.Sheet)(res[][]string){temp:=make([]......
  • 使用hutool封装的Excel工具类
    好用的工具类hutool工具类hutool操作excel这篇文章使用hutool的excel包封装项目中使用的excel工具类;引入包可以简单直接引入hutool-all,但是如果不用其他的话建议单独引入excel包<dependency><groupId>cn.hutool</groupId><artifactId>hutool-......
  • excel 输出demo(outputstream 转inputstr)
    protectedvoidresponseExcel(HSSFWorkbookworkbook)throwsIOException{ByteArrayOutputStreamos=newByteArrayOutputStream();try{workbook.write(os);}catch(IOExceptione){e.printStackTrace();}byte[]content......
  • 使用hutool给excel单元格标黄和添加批注
    packagecom.yc.cloud.excel.util;importcn.hutool.poi.excel.ExcelWriter;importlombok.extern.slf4j.Slf4j;importorg.apache.poi.hssf.usermodel.HSSFClientAnchor;importorg.apache.poi.hssf.usermodel.HSSFRichTextString;importorg.apache.poi.ss.usermodel.......
  • teamcenter rac 开发 卡死 问题 导出excel 文件时
    解决方法:我对比了,芬尼的这个功能,发现那边在tc配置了查看器的属性,首航这边没配置,然后芬妮没有这个bug,代码也是相同的,所以我交实施配置了查看器的属性就可以了 ......