当前位置:   article > 正文

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

python3 xlwt

目录

一、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库所有属性和方法的列表

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

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

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

五、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号