Python酷库之旅-比翼双飞情侣库(18)

news2025/2/27 2:50:30

目录

一、xlwt库的由来

1、背景和需求

2、项目启动

3、功能特点

4、版本兼容性

5、与其他库的关系

6、示例和应用

7、发展历史

二、xlwt库优缺点

1、优点

1-1、简单易用

1-2、功能丰富

1-3、兼容旧版Excel

1-4、社区支持

1-5、稳定性

2、缺点

2-1、不支持`.xlsx`格式

2-2、不支持读取Excel文件

2-3、Python 3兼容性

2-4、功能限制

2-5、性能

三、xlwt库的版本说明

1、最新版本

2、Python版本兼容性

3、功能

4、限制

5、更新状态

6、安装与使用

四、如何学好xlwt库?

1、获取xlwt库的属性和方法

2、获取xlwt库的帮助信息

3、实战案例

3-30、设置单元格区域的外部边框

3-31、设置单元格区域的全部边框

3-32、设置单元格区域的除对角框线以外的全部边框

3-33、删除单元格区域的全部边框

3-34、设置单元格的颜色和背景

3-35、设置单元格的格式

3-36、设置单元格的对齐方式

3-37、设置自动换行让单元格内容以全部显示

3-38、设定/删除单元格的输入规则和信息提示(有效性设置)

3-39、为单元格设置条件格式/删除条件格式

3-40、为单元格插入指向工作簿内部的超链接/删除超链接

3-41、为单元格插入指向工作簿外部的超链接/删除超链接

3-42、为单元格添加批注/删除批注

3-43、修改单元格的批注

3-44、为单元格区域定义名称/删除名称(Name属性)

3-45、为单元格区域定义名称/删除名称(Add方法)

3-46、自动调整单元格大小

3-47、自动调整工作表全部单元格的大小

3-48、设置单元格的大小(以磅为单位)

3-49、设置单元格的大小(以cm为单位)

3-50、设置单元格的大小(以in为单位)

3-51、锁定单元格/解除单元格锁定

3-52、隐藏单元格的公式

3-53、隐藏/显示某单元格所在的行或列

五、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

        在Excel中,通常所说的“情侣键”并非官方术语,而是对某些常用且经常成对出现的快捷键的一种形象化的称呼。其中,最为人熟知和广泛使用的“情侣键”是“Ctrl+C”和“Ctrl+V”。

1、Ctrl+C:这个快捷键的作用是“拷贝”或“复制”。当你在Excel中选中某个单元格、一行、一列或整个工作表的内容后,按下Ctrl+C键,这些内容就会被复制到计算机的剪贴板中,等待下一步的粘贴操作。
2、Ctrl+V:这个快捷键的作用是“粘贴”。在你按下Ctrl+C键将内容复制到剪贴板后,可以通过按下Ctrl+V键将这些内容粘贴到Excel中的另一个位置,这两个操作经常是连续进行的,因此Ctrl+C和Ctrl+V就像一对“情侣”,总是成对出现。

        除了这对常见的“情侣键”外,Excel中还有许多其他的快捷键可以帮助用户更高效地完成各种操作。然而,这些快捷键通常并没有像Ctrl+C和Ctrl+V那样形成特定的“情侣”关系。

        然而,今天我不再展开介绍“情侣键”,而是要重点推介Python中的“情侣库”,即xlrd和xlwt两个第三方库。

一、xlwt库的由来

        xlwt库的由来可以追溯到Python社区中对于Excel文件处理的需求。以下是关于xlwt库由来的清晰归纳:

1、背景和需求

1-1、在Python中处理Excel文件是一个常见的需求,无论是进行数据分析、报告生成还是其他与表格数据相关的任务。
1-2、早期,Python社区缺乏一个直接、高效且功能全面的库来创建和修改Excel文件。

2、项目启动

2-1、为了满足这一需求,python-excel组织(或相关的开发者社区)启动了xlwt项目。
2-2、xlwt作为python-excel组织的一个子项目,旨在提供一个用于在Python中创建、修改和操作.xls格式电子表格文件的库

3、功能特点

3-1、xlwt库允许用户创建新的.xls文件。
3-2、它支持将数据写入.xls文件中的特定单元格。
3-3、用户可以设置单元格样式,如字体、颜色、对齐方式等。
3-4、xlwt还支持设置行高和列宽,以及在工作表中插入图片。

4、版本兼容性

4-1、xlwt最初是为Python 2.x版本设计的,但随着Python 3.x的发布,许多库都进行了更新以适应新版本。
4-2、对于Python 3.x,开发者可能需要使用xlwt的更新版本或寻找其他兼容的库。

5、与其他库的关系

5-1、xlwt是python-excel组织维护的一系列与Excel文件处理相关库的一部分。
5-2、另一个常用的库是xlrd,它是xlwt的配套库,专门用于读取Excel文件。

6、示例和应用

6-1、xlwt库通过提供简单的API和丰富的功能,使得Python开发者能够轻松地进行数据分析和报告生成。
6-2、它可以与其他数据处理库(如Pandas或Numpy)结合使用,以实现更高级的数据操作。

7、发展历史

7-1、随着Python版本的不断更新和Excel文件格式的演变,xlwt库也进行了相应的更新和改进。例如,从Python 2.x到3.x的过渡期间,xlwt库也进行了必要的更新以保持与新版本Python的兼容性。

        总之,xlwt库是Python社区为满足处理Excel文件需求而开发的一个强大工具。它通过提供丰富的功能和简单的API,使得Python开发者能够轻松地进行Excel文件的创建、修改和操作。

二、xlwt库

        xlwt库是用于在Python中创建和写入Excel文件的库,它专注于`.xls`格式的Excel文件(基于BIFF 8的Excel 97-2003工作簿)。以下是xlwt库的一些优点和缺点:

1、优点
1-1、简单易用

        xlwt提供了简洁明了的API,使得开发者可以轻松地创建和写入Excel文件。

1-2、功能丰富

        虽然专注于写入Excel文件,但xlwt仍然支持多种特性,如设置单元格样式(字体、颜色、对齐方式等)、设置行高和列宽、合并单元格等。

1-3、兼容旧版Excel

        xlwt生成的`.xls`文件与Excel 97-2003兼容,这意味着你可以在旧版本的Excel中打开这些文件。

1-4、社区支持

        作为一个流行的Python库,xlwt有广泛的社区支持和文档,可以帮助开发者快速上手并解决问题。

1-5、稳定性

        xlwt库已经存在多年,并在多个项目中经过了实践检验,因此在稳定性方面表现出色。

2、缺点
2-1、不支持`.xlsx`格式

        xlwt仅支持Excel 97-2003的`.xls`格式,而不支持较新的`.xlsx`格式(基于Office Open XML)。如果你需要处理`.xlsx`文件,你可能需要使用其他库,如openpyxl或xlsxwriter。

2-2、不支持读取Excel文件

        xlwt是一个专门的写入库,它不提供读取Excel文件的功能。如果你需要读取Excel文件,你需要使用另一个库,如xlrd(注意:xlrd在较新的版本中已经不再支持`.xlsx`文件)。

2-3、Python 3兼容性

        虽然xlwt在Python 2中非常流行,但它最初是为Python 2设计的。虽然有一些第三方维护的版本试图提供Python 3的兼容性,但官方版本可能不再支持Python 3的最新特性。

2-4、功能限制

        由于xlwt的设计初衷是创建一个轻量级的、易于使用的库,因此它可能缺少一些高级功能,如处理图表、数据透视表或宏等。

2-5、性能

        在处理大型Excel文件时,xlwt的性能可能不是最优的。对于大型数据集,可能需要考虑使用更高效的库或方法。

        综上所述,xlwt是一个强大的工具,用于在Python中创建和写入Excel 97-2003格式的`.xls`文件,然而,它也有一些限制,特别是对于那些需要处理`.xlsx`文件或需要读取Excel文件的开发者来说,在选择是否使用xlwt时,你应该根据你的具体需求进行权衡。

三、xlwt库的版本说明

        xlwt库的版本说明如下:

1、最新版本

        目前(截至2024年6月)xlwt库的最新版本为"1.3.0"。此版本主要支持Python 2.x系列以及Python 3.x的部分版本,用于创建和写入Excel 97-2003的`.xls`格式文件。

2、Python版本兼容性

        xlwt库在Python 2.6, 2.7, 3.3+等版本上得到支持。请注意,Python 2.x和Python 3.x在语法和特性上存在显著差异,因此虽然xlwt可以在这些版本上运行,但可能需要针对特定的Python版本进行微调。

3、功能

        xlwt库允许开发者在Python中创建Excel工作簿、工作表,并向单元格写入数据。它还支持设置单元格样式、合并单元格等功能。

4、限制

        xlwt库不支持Excel 2007及以后版本的`.xlsx`格式文件。如果你需要处理`.xlsx`文件,可以考虑使用其他库,如openpyxl或xlsxwriter。
        xlwt库仅提供写入Excel文件的功能,不支持读取Excel文件。如果你需要读取Excel文件,可以考虑使用xlrd库(但请注意,xlrd库在新版本中也不再支持`.xlsx`格式)。

5、更新状态

        xlwt库在一段时间内已经相对稳定,但需要注意的是,它的最后一个官方更新发布于2017年8月22日,这意味着该库可能不再接收新的功能更新或错误修复。尽管如此,由于其广泛的社区支持和稳定性,xlwt仍然是一个可靠的选择,特别是在处理旧版Excel文件时。

6、安装与使用

        你可以通过pip命令在Python环境中安装xlwt库:pip install xlwt。安装完成后,你可以通过导入xlwt模块并使用其提供的API来创建和写入Excel文件。

        总之,xlwt库是一个用于在Python中创建和写入Excel 97-2003格式文件的库,它在Python 2.x和3.x的部分版本上得到支持。虽然它不支持`.xlsx`格式文件且仅提供写入功能,但由于其稳定性和广泛的社区支持,它仍然是一个在处理旧版Excel文件时的可靠选择。

四、如何学好xlwt库?

1、获取xlwt库的属性和方法

        用print()和dir()两个函数获取xlwt库所有属性和方法的列表

# ['ANTLRException', 'Alignment', 'BIFFRecords', 'Bitmap', 'Borders', 'Cell', 'Column', 'ExcelFormula', 
# 'ExcelFormulaLexer', 'ExcelFormulaParser', 'ExcelMagic', 'Font', 'Formatting', 'Formula', 'Pattern',
# 'Protection', 'Row', 'Style', 'UnicodeUtils', 'Utils', 'Workbook', 'Worksheet', 'XFStyle', '__VERSION__', 
# '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', 
# '__spec__', 'add_palette_colour', 'antlr', 'compat', 'easyfont', 'easyxf', 'struct']
2、获取xlwt库的帮助信息

        用help()函数获取xlwt库的帮助信息

Help on package xlwt:

NAME
    xlwt

PACKAGE CONTENTS
    BIFFRecords
    Bitmap
    Cell
    Column
    CompoundDoc
    ExcelFormula
    ExcelFormulaLexer
    ExcelFormulaParser
    ExcelMagic
    Formatting
    Row
    Style
    UnicodeUtils
    Utils
    Workbook
    Worksheet
    antlr
    compat

DATA
    __VERSION__ = '1.3.0'

FILE
    e:\python_workspace\pythonproject\lib\site-packages\xlwt\__init__.py
3、实战案例
3-30、设置单元格区域的外部边框
# 30、设置单元格区域的外部边框
import xlwt
# 创建一个工作簿和一个工作表
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('Sheet1')
# 假设要设置边框的单元格范围,例如从第1行第1列到第5行第5列
start_row = 0
end_row = 4
start_col = 0
end_col = 4
# 创建边框样式
borders = xlwt.Borders()
borders.left = xlwt.Borders.THIN
borders.right = xlwt.Borders.THIN
borders.top = xlwt.Borders.THIN
borders.bottom = xlwt.Borders.THIN
# 创建一个样式对象并设置边框
style_border = xlwt.XFStyle()
style_border.borders = borders
# 创建一个内部样式(可选,用于内部单元格,可以省略顶部和/或底部边框)
# 这里我们省略了顶部和底部边框,以模拟只有外部边框的效果
borders_internal = xlwt.Borders()
borders_internal.left = xlwt.Borders.THIN
borders_internal.right = xlwt.Borders.THIN
style_internal = xlwt.XFStyle()
style_internal.borders = borders_internal
# 遍历单元格区域并设置边框样式
for row in range(start_row, end_row + 1):
    for col in range(start_col, end_col + 1):
        # 对于边缘单元格,使用带有全部边框的样式
        if row == start_row or row == end_row or col == start_col or col == end_col:
            sheet.write(row, col, 'Data', style_border)
            # 对于内部单元格,使用只有左右边框的样式(可选)
        else:
            sheet.write(row, col, 'Data', style_internal)
# 保存工作簿
workbook.save('border_example.xls')
3-31、设置单元格区域的全部边框
# 31、设置单元格区域的全部边框
# 1、方法一
import xlwt
# 创建一个新的工作簿
workbook = xlwt.Workbook(encoding="utf-8")
# 添加一个新的工作表
worksheet = workbook.add_sheet("Sheet1")
# 创建一个边框样式对象
borders = xlwt.Borders()
# 设置外部边框为粗线
borders.left = xlwt.Borders.THIN
borders.right = xlwt.Borders.THIN
borders.top = xlwt.Borders.THIN
borders.bottom = xlwt.Borders.THIN
# 创建一个样式对象
style = xlwt.XFStyle()
style.borders = borders
# 应用样式到单元格区域,这里以A1:B2为例
for row in range(0, 2):
    for col in range(0, 2):
        worksheet.write(row, col, "Test", style)
# 保存工作簿
workbook.save("example_with_borders.xls")

# 2、方法二
import xlwt  
# 创建一个工作簿和一个工作表  
workbook = xlwt.Workbook()  
sheet = workbook.add_sheet('Sheet1')  
# 假设要设置边框的单元格范围  
start_row = 0  
end_row = 4  
start_col = 0  
end_col = 4  
# 创建边框样式  
borders = xlwt.Borders()  
borders.left = xlwt.Borders.THIN  
borders.right = xlwt.Borders.THIN  
borders.top = xlwt.Borders.THIN  
borders.bottom = xlwt.Borders.THIN  
# 创建一个样式对象并设置边框  
style = xlwt.XFStyle()  
style.borders = borders  
# 填充数据并设置边框样式  
for row in range(start_row, end_row + 1):  
    for col in range(start_col, end_col + 1):  
        sheet.write(row, col, 'Data', style)  
  
# 保存工作簿  
workbook.save('border_example.xls')
3-32、设置单元格区域的除对角框线以外的全部边框
# 32、设置单元格区域的除对角框线以外的全部边框
import xlwt
# 创建一个工作簿和一个工作表
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('Sheet1')
# 假设要设置边框的单元格范围,例如从第1行第1列到第5行第5列
start_row = 0
end_row = 4
start_col = 0
end_col = 4
# 创建边框样式
borders = xlwt.Borders()
borders.left = xlwt.Borders.THIN
borders.right = xlwt.Borders.THIN
borders.top = xlwt.Borders.THIN
borders.bottom = xlwt.Borders.THIN
style = xlwt.XFStyle()
style.borders = borders
# 设置单元格范围的边框样式
for row in range(start_row, end_row + 1):
    for col in range(start_col, end_col + 1):
        if row != col:  # 设置除对角线以外的全部边框
            sheet.write(row, col, 'Data', style)
# 保存工作簿
workbook.save('non_diagonal_border_example.xls')
3-33、删除单元格区域的全部边框
# 33、删除单元格区域的全部边框
import xlwt
# 创建一个工作簿和一个工作表
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('Sheet1')
# 假设要删除边框的单元格范围,例如从第1行第1列到第5行第5列
start_row = 0
end_row = 4
start_col = 0
end_col = 4
# 创建边框样式并设置为"无边框"
style = xlwt.XFStyle()
borders = xlwt.Borders()
borders.left = xlwt.Borders.NO_LINE
borders.right = xlwt.Borders.NO_LINE
borders.top = xlwt.Borders.NO_LINE
borders.bottom = xlwt.Borders.NO_LINE
style.borders = borders
# 删除单元格范围的边框样式
for row in range(start_row, end_row + 1):
    for col in range(start_col, end_col + 1):
        sheet.write(row, col, 'Data', style)
# 保存工作簿
workbook.save('no_border_example.xls')
3-34、设置单元格的颜色和背景
# 34、设置单元格的颜色和背景
import xlwt
# 创建一个工作簿和一个工作表
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('Sheet1')
# 创建一个样式对象,并设置背景颜色
style = xlwt.XFStyle()
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN  # 设置背景填充样式为实心
pattern.pattern_fore_colour = xlwt.Style.colour_map['green']  # 设置背景颜色为绿色
style.pattern = pattern
# 在单元格中写入数据,并应用样式
sheet.write(0, 0, 'Data', style)
# 保存工作簿
workbook.save('cell_color_example.xls')
3-35、设置单元格的格式
# 35、设置单元格的格式
import xlwt
# 创建一个Workbook对象,即一个Excel文件
workbook = xlwt.Workbook()
# 添加一个sheet页
sheet = workbook.add_sheet('Sheet1')
# 创建样式
style = xlwt.XFStyle()  # 初始化样式对象
# 创建字体
font = xlwt.Font()  # 初始化字体对象
font.name = '微软雅黑'  # 设置字体名称
font.bold = True  # 设置字体加粗
font.underline = True  # 设置下划线
style.font = font  # 将字体应用到样式
# 创建边框
borders = xlwt.Borders()  # 初始化边框对象
borders.left = xlwt.Borders.THIN  # 左边框
borders.right = xlwt.Borders.THIN  # 右边框
borders.top = xlwt.Borders.THIN  # 上边框
borders.bottom = xlwt.Borders.THIN  # 下边框
style.borders = borders  # 将边框应用到样式
# 创建对齐方式
alignment = xlwt.Alignment()  # 初始化对齐方式对象
alignment.horz = xlwt.Alignment.HORZ_CENTER  # 水平居中
alignment.vert = xlwt.Alignment.VERT_CENTER  # 垂直居中
style.alignment = alignment  # 将对齐方式应用到样式
# 在sheet页的单元格A1写入内容,并应用样式
sheet.write(0, 0, 'Hello, xlwt!', style)
# 保存文件
workbook.save('example.xls')
3-36、设置单元格的对齐方式
# 36、设置单元格的对齐方式
import xlwt
# 创建一个Workbook对象,即一个Excel文件
workbook = xlwt.Workbook()
# 添加一个sheet页
sheet = workbook.add_sheet('Sheet1')
# 创建样式
style = xlwt.XFStyle()  # 初始化样式对象
# 创建对齐方式
alignment = xlwt.Alignment()  # 初始化对齐方式对象
alignment.horz = xlwt.Alignment.HORZ_CENTER  # 水平居中
alignment.vert = xlwt.Alignment.VERT_CENTER  # 垂直居中
style.alignment = alignment  # 将对齐方式应用到样式
# 在sheet页的单元格A1写入内容,并应用样式
sheet.write(0, 0, 'Hello, xlwt!', style)
# 保存文件
workbook.save('example.xls')
3-37、设置自动换行让单元格内容以全部显示
# 37、设置自动换行让单元格内容以全部显示
import xlwt
# 创建一个工作簿
workbook = xlwt.Workbook(encoding="utf-8", style_compression=0)
# 添加一个工作表
worksheet = workbook.add_sheet('Sheet1')
# 创建一个单元格样式
style = xlwt.XFStyle()
# 创建一个字体对象,并设置缩小以适合单元格选项
font = xlwt.Font()
font.name = 'Arial'
font.height = 200  # 字体高度
font.escapement = xlwt.Font.ESCAPEMENT_NONE
font.struck_out = False
font.underline = False
font.italic = False
font.bold = False
font.shadow = False
font.outline = False
font.color_index = xlwt.Style.colour_map['black']
# 创建一个对齐对象,并设置缩小以适应选项
alignment = xlwt.Alignment()
alignment.wrap = xlwt.Alignment.NOT_WRAP_AT_RIGHT
alignment.horz = xlwt.Alignment.HORZ_CENTER
alignment.vert = xlwt.Alignment.VERT_CENTER
alignment.shrink_to_fit = True  # 关键:设置缩小以适应
alignment.wrap = 1  # 设置自动换行
# 将字体和对齐对象设置到样式中
style.font = font
style.alignment = alignment
# 写入数据并应用样式
worksheet.write(0, 0, '这是一段很长的文字内容,用于测试缩小以适应选项', style)
# 保存文件
workbook.save('test_shrink_to_fit.xls')
3-38、设定/删除单元格的输入规则和信息提示(有效性设置)
略,xlwt库不支持此功能,需要借助其他库实现
3-39、为单元格设置条件格式/删除条件格式
# 39、为单元格设置条件格式/删除条件格式
# 1、设置条件格式(模拟效果)
import xlwt
# 创建一个新的工作簿和工作表
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Sheet1')
# 创建一个样式,用于单元格条件格式化
style = xlwt.XFStyle()
# 设置背景颜色为黄色
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = xlwt.Style.colour_map['yellow']
style.pattern = pattern
# 设置字体颜色为红色
font = xlwt.Font()
font.colour_index = xlwt.Style.colour_map['red']
style.font = font
# 根据条件应用样式
value = 30
if value > 40:
    worksheet.write(0, 0, value, style)
else:
    worksheet.write(0, 0, value)
# 保存工作簿
workbook.save('conditional_formatting.xls')
# 2、删除条件格式(采取重新设置的方式,达到删除条件格式的效果)
style_default = xlwt.XFStyle()
worksheet.write(0, 0, value, style_default)
3-40、为单元格插入指向工作簿内部的超链接/删除超链接
# 40、为单元格插入指向工作簿内部的超链接/删除超链接
# 1、插入指向工作簿内部的超链接(模拟实现)
import xlwt
# 创建一个新的工作簿和工作表
wb = xlwt.Workbook()
ws1 = wb.add_sheet('Sheet1')
ws2 = wb.add_sheet('Sheet2')
# 在Sheet1中添加超链接文本
link_text = 'Go to Sheet2'
ws1.write(0, 0, xlwt.Formula('HYPERLINK("#Sheet2!A1","' + link_text + '")'))
# 在Sheet2中添加一些数据
ws2.write(0, 0, 'Welcome to Sheet2')
# 保存工作簿
wb.save('hyperlink_example.xls')
# 2、删除超链接(模拟实现)
import xlwt
from xlrd import open_workbook
from xlutils.copy import copy
# 打开现有的工作簿
rb = open_workbook('hyperlink_example.xls', formatting_info=True)
wb = copy(rb)
# 获取Sheet1
ws1 = wb.get_sheet(0)
# 删除超链接(替换为普通文本)
ws1.write(0, 0, 'Go to Sheet2')
# 保存工作簿
wb.save('hyperlink_removed_example.xls')
3-41、为单元格插入指向工作簿外部的超链接/删除超链接
# 41、为单元格插入指向工作簿外部的超链接/删除超链接
# 1、插入指向工作簿外部的超链接(模拟实现)
import xlwt
# 创建一个新的工作簿和工作表
wb = xlwt.Workbook()
ws = wb.add_sheet('Sheet1')
# 在单元格中插入指向外部文件的超链接
external_link = 'http://www.example.com'
link_text = 'Visit Example'
ws.write(0, 0, xlwt.Formula(f'HYPERLINK("{external_link}","{link_text}")'))
# 保存工作簿
wb.save('external_hyperlink_example.xls')
# 2、删除超链接(模拟实现)
import xlwt
from xlrd import open_workbook
from xlutils.copy import copy
# 打开现有的工作簿
rb = open_workbook('external_hyperlink_example.xls', formatting_info=True)
wb = copy(rb)
# 获取Sheet1
ws = wb.get_sheet(0)
# 删除超链接(替换为普通文本)
ws.write(0, 0, 'Visit Example')
# 保存工作簿
wb.save('external_hyperlink_removed_example.xls')
3-42、为单元格添加批注/删除批注
略,xlwt库不支持此功能,需要借助其他库实现
3-43、修改单元格的批注
略,xlwt库不支持此功能,需要借助其他库实现
3-44、为单元格区域定义名称/删除名称(Name属性)
略,xlwt库不支持此功能,需要借助其他库实现
3-45、为单元格区域定义名称/删除名称(Add方法)
略,xlwt库不支持此功能,需要借助其他库实现
3-46、自动调整单元格大小
略,xlwt库不支持此功能,需要借助其他库实现
3-47、自动调整工作表全部单元格的大小
略,xlwt库不支持此功能,需要借助其他库实现
3-48、设置单元格的大小(以磅为单位)
# 48、设置单元格的大小(以磅为单位)
import xlwt
# 创建一个新的工作簿和工作表
wb = xlwt.Workbook()
ws = wb.add_sheet('Sheet1')
# 插入一些数据
data = [
    "Short text",
    "This is a bit longer text",
    "This is a much longer text that will need more space"
]
# 设置行高(以磅为单位)和列宽(以字符宽度为单位)
for row_num, text in enumerate(data):
    # 写入数据
    ws.write(row_num, 0, text)
    # 设置行高:1磅 = 20个单位
    row_height_in_points = 20  # 例如,20磅
    ws.row(row_num).height_mismatch = True
    ws.row(row_num).height = 20 * row_height_in_points
    # 设置列宽:1个字符宽度单位 = 1/256个字符宽度
    col_width_in_characters = 20  # 例如,20个字符宽度
    ws.col(0).width = 256 * col_width_in_characters
# 保存工作簿
wb.save('cell_size_in_points.xls')
3-49、设置单元格的大小(以cm为单位)
# 49、设置单元格的大小(以cm为单位)
import xlwt
# 创建一个工作簿
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Sheet1')
# 定义转换函数
def cm_to_excel_units(cm):
    # 1厘米约等于37.795275591像素
    # Excel 的列宽单位是以字符宽度为基准,假设一个字符宽度约为256个像素
    # Excel 的行高单位是磅,1磅 = 1/72英寸 = 0.035277厘米
    column_width = int((cm * 37.795275591) / 7.5)  # 这里假设一个字符宽度大约是7.5像素
    row_height = int((cm / 0.035277) * 20)  # 行高是磅,乘以20来匹配xlwt的单位
    return column_width, row_height
# 设置单元格大小
cm_width = 5  # 设定宽度为5厘米
cm_height = 2  # 设定高度为2厘米
column_width, row_height = cm_to_excel_units(cm_width)
# 设置列宽和行高
worksheet.col(0).width = column_width * 256  # 设置第0列的宽度
worksheet.row(0).height = row_height  # 设置第0行的高度
# 添加一些数据以示例
worksheet.write(0, 0, 'Hello, World!')
# 保存文件
workbook.save('cell_size_example.xls')
3-50、设置单元格的大小(以in为单位)
# 50、设置单元格的大小(以in为单位)
import xlwt
# 创建一个新的工作簿和工作表
wb = xlwt.Workbook()
ws = wb.add_sheet('Sheet1')
# 插入一些数据
data = [
    "Short text",
    "This is a bit longer text",
    "This is a much longer text that will need more space"
]
# 定义行高和列宽的英寸数
row_height_in_inch = 1  # 例如,1英寸
col_width_in_inch = 3  # 例如,3英寸
# 将英寸转换为 `xlwt` 的单位
row_height_in_points = row_height_in_inch * 72  # 1英寸约等于72磅
col_width_in_characters = col_width_in_inch * 1135  # 1英寸约等于1135字符宽度单位
# 设置行高和列宽
for row_num, text in enumerate(data):
    # 写入数据
    ws.write(row_num, 0, text)
    # 设置行高
    ws.row(row_num).height_mismatch = True
    ws.row(row_num).height = int(row_height_in_points * 20)  # 将磅转换为1/20磅单位
    # 设置列宽
    ws.col(0).width = int(col_width_in_characters * 256)  # 将字符宽度转换为1/256字符宽度单位
# 保存工作簿
wb.save('cell_size_in_inches.xls')
3-51、锁定单元格/解除单元格锁定
略,xlwt库不支持此功能,需要借助其他库实现
3-52、隐藏单元格的公式
略,xlwt库不支持此功能,需要借助其他库实现
3-53、隐藏/显示某单元格所在的行或列
# 53、隐藏/显示某单元格所在的行或列
import xlwt
# 创建一个工作簿
workbook = xlwt.Workbook()
# 添加一个工作表
sheet = workbook.add_sheet('Sheet 1')
# 写入一些数据
sheet.write(0, 0, 'A1')
sheet.write(1, 0, 'A2')
sheet.write(2, 0, 'A3')
sheet.write(0, 1, 'B1')
sheet.write(1, 1, 'B2')
sheet.write(2, 1, 'B3')
# 隐藏第二行(索引从0开始,即隐藏A2, B2所在的行)
sheet.row(1).hidden = True
# 隐藏第二列(索引从0开始,即隐藏B1, B2, B3所在的列)
sheet.col(1).hidden = True
# 保存工作簿
workbook.save('hidden_rows_cols.xls')

五、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1841638.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Perl:从小白到大神,最全指南

Perl入门语言学习 一、引言1.1 学习Perl编程语言的重要性1.2 学习Perl的应用领域1.3 学习Perl的基础知识的目标和意义1.4 Perl开发环境搭建1.4.1 下载和安装Perl解释器(Downloading and Installing Perl Interpreter)1.4.2 编辑器选择和配置(…

通过sql语句直接导出excel文件

SELECT column1 as 名字 FROM your_table INTO OUTFILE /path/to/your_file.csv FIELDS TERMINATED BY , ENCLOSED BY " LINES TERMINATED BY \n 这里的注意事项是,INTO OUTFILE 这后面的路径需要通过下面的SQL查出来 show variables like %secure%; 操作步骤…

CPU-Z 查看电脑硬件信息

当谈及电脑硬件性能时,CPU-Z无疑是一款不可或缺的工具。作为一款专注于显示电脑各种硬件信息的软件,CPU-Z提供了详尽而精确的数据,让用户可以深入了解他们的计算机。 下载地址: https://software.ptw-cwl.com/#/3720903030

微信小程序-伪类选择器

一.伪类选择器 结构伪类常见书写方式: 第一类:找第几个孩子 1. :first-child 找第一个孩子2. :last-child 找最后一个孩子3. :nth-child(),正着找数字:写数字几就是找第几个孩子,2n或者even:找偶数2n1或者o…

做一个架构师需要什么能力?

作为一个架构师,需要具备多方面的能力来确保项目的顺利进行和系统的成功设计。以下是架构师所需的主要能力,按照不同的类别进行归纳和分点表示: 技术能力 编程能力:架构师通常是一个开发团队中技术较为出色的人员之一&#xff0…

【网络安全学习】使用Kali做信息收集-01-<域名信息主机信息>

1.收集开源情报 开源情报(Open Source Intelligence,OSINT)是指从各种公开的渠道中寻找和获取有价值的信息 如:互联网、媒体、社交网络、公共数据库等开源情报具有以下特点: - 丰富性:开源情报涵盖了各种类型和领域的信息 - 可…

【微服务】什么是Hystrix?一文带你入门Hystrix

文章目录 强烈推荐引言主要功能实现容错应用场景1. 远程服务调用2. 防止级联故障3. 网络延迟和超时管理4. 资源隔离5. 高并发场景6. 熔断与自动恢复7. 故障检测与监控 示例应用场景使用实例1. 引入依赖2. 创建 Hystrix 命令类3. 使用 Hystrix 命令4. 配置 Hystrix5. 实时监控集…

Python语言修改控制台输出文字的颜色和背景颜色

Python语言修改控制台输出文字的颜色和背景颜色 格式显示模式字体颜色背景颜色文字加效果显示类 格式 \033[显示模式;字体颜色;背景颜色m 显示模式 显示模式格式将文本颜色和背景颜色重置为默认值,取消所有其他文本属性\033[0m高亮(加粗)\03…

一站式实时数仓Hologres整体能力介绍

讲师:阿里云Hologres PD丁烨 一、产品定位 随着技术的进步,大数据正从规模化转向实时化处理。用户对传统的T1分析已不满足,期望获得更高时效性的计算和分析能力。例如实时大屏,城市大脑的交通监控、风控和实时的个性化推荐&…

AMEYA360 | 江苏润石最新发布12颗车规级模拟芯片

日前江苏润石再度新增12颗通过AEC-Q100 Grade1,满足MSL 1湿敏等级认证的车规级芯片。截止目前,润石科技总计有70颗Grade1 & MSL1的车规级芯片通过认证并进入量产。凭借卓越的产品技术指标和稳定的品质性能不仅展示了公司在车规级模拟芯片领域的技术积…

React 通信:深层传递(Props、Context、Children Jsx)

在之前的文章 探讨:围绕 props 阐述 React 通信 中总结了关于“父子”组件传值,但是当需要在组件树中深层传递参数以及需要在组件间复用相同的参数时,传递 props 就会变得很麻烦。 实际案例: 下述展示有两种状态:① 详…

智慧分流:探索互联网与物联网的负载均衡技术

数字化时代,个人认为,无论是互联网还是物联网,还是其他网,在各个层级,都对系统的稳定性和效率提出了更高的要求。负载均衡技术作为保障系统平稳运行的关键,其重要性不言而喻。在数字世界的海洋中&#xff0…

【TB作品】MSP430G2553,单片机,口袋板, 单相交流电压、电流计设计

题5 单相交流电压、电流计设计 设计基于MSP430的单相工频交流电参数检测仪。交流有效值0-220V,电流有效值0-40A。电压、电流值经电压、电流传感器输出有效值为0-5V的交流信号,传感器输出的电压、电流信号与被测电压、电流同相位。 基本要求如下 &#xf…

AI写作平台:提升文档撰写效率的神器

工欲善其事,必先利其器。 随着AI技术与各个行业或细分场景的深度融合,日常工作可使用的AI工具呈现出井喷式发展的趋势,AI工具的类别也从最初的AI文本生成、AI绘画工具,逐渐扩展到AI思维导图工具、AI流程图工具、AI生成PPT工具、AI…

电子竞赛6——基于DDS的正弦波发生器

前言 作为电子系统必不可少的信号源,在很大程度上决定了系统的性能, 因而常称之为电子系统的“心脏”。传统的信号源采用振荡器, 只能产生少数几种波形,自动化程度较低,且仪器体积大,灵活性与准确度差。而现在要求信号源能产生波形的种类多、频率高,而且还要体积小、可靠性高、…

推荐一款功能强大的显示器!

最近在写项目开发文档,经常需要几个界面来回切换,真的深刻感受到了一台外接显示器对一名程序员来说有多重要了,画功能流程图的时候嫌弃自己的笔记本屏幕不够大,看代码的时候又在想要是有个旋转屏就好了,来回切换界面的…

【OpenHarmony开发】自定义系统应用之实践

前言 OpenHarmony系统应用是指预装在OpenHarmony操作系统中的应用程序,也称为系统应用。这些应用程序通常由操作系统开发者开发,包括系统设置、电话、短信、浏览器、相机、音乐、视频等常用应用程序。这些应用程序通常具有更高的权限和更深入的系统集成…

看到漂亮的UI设计,就挪不开眼,还有救吗?

在App设计中,瓷片区(Tile Area)是指用于展示信息或功能的独立区域。瓷片区可以被设计成具有不同的形状、大小、颜色和内容。以下是瓷片区的一些作用: 信息展示: 瓷片区可以用于显示重要的信息,如最新消息、…

uni-app 表格tr添加点击事件

首先找到uni.tr这个组件的页面,路径uni_modules/uni-table/components/uni-tr/uni-tr.vue 然后添加点击事件 在你的表格页面就可以添加点击事件了

电脑C盘满了怎么清理?5招为您释放电脑空间!

“我的电脑使用了一段时间了,不知道是不是因为内存满了,现在很多功能都没办法使用。有什么方法可以清理c盘空间且不误删重要文件的吗?” 当我们打开电脑,发现系统提示C盘空间不足,或者电脑运行变得缓慢时,很…