OpenPyXL教程:创建Excel、保存Excel、添加sheet工作表、不同类型数据的写入

文章目录

  • 一、前言
  • 二、使用OpenPyXl创建Excel文件
  • 三、保存Excel文件
  • 四、创建与保存Excel完整代码示例
  • 五、添加工作表到Excel文件
  • 六、添加工作表完整代码示例
  • 七、写入不同类型的数据
  • 八、写入时间、文本、数字和公式的完整代码示例
  • 九、单元格数据格式设置详解

一、前言

今天我们要讲解的内容包括如下几个方面,如果觉得还可以,希望您能给一个宝贵的点赞、收藏或者订阅:

  • 创建和保存Excel文件
    • 创建一个新的Excel文件:通过openpyxl创建一个新的Excel文件,并添加默认的工作表。
    • 添加工作表到Excel文件:学会在新建的Excel文件中添加多个工作表,并设置工作表的名称。
    • 保存Excel文件到本地:学习如何将对Excel文件的修改保存到本地文件。
  • 数据写入和格式设置
    • 写入数据到单元格:掌握将数据写入单元格的方法,可以是文字、数字或日期等不同类型的数据。包括写入文字、写入数字、写入日期(时间)、写入公式
    • 设置单元格的值和数据类型:了解如何设置单元格的值和数据类型,确保数据被正确地解释和显示。(关于number_format。)

二、使用OpenPyXl创建Excel文件

  1. 导入所需的模块: 在 Python 脚本中导入 openpyxl 模块,以便于使用其中的功能。
import openpyxl
  1. 创建 Excel 文件和工作表: 使用 openpyxl.Workbook() 方法创建一个新的 Excel 文件,并使用 .active 属性来获取默认的工作表。
# 创建一个新的 Excel 文件
workbook = openpyxl.Workbook()

# 获取默认的工作表
sheet = workbook.active
  1. 操作工作表: 现在你可以对默认的工作表进行操作,例如添加数据、设置单元格值、设置单元格样式等。
# 在 A1 单元格设置值
sheet['A1'] = "Hello"

# 在 B1 单元格设置值
sheet['B1'] = "World"

三、保存Excel文件

  1. 保存 Excel 文件: 在完成数据操作后,确保保存你的 Excel 文件。
# 保存 Excel 文件
workbook.save("E:\UserData\Desktop\example-1.xlsx")

四、创建与保存Excel完整代码示例

import openpyxl

# 创建一个新的 Excel 文件
workbook = openpyxl.Workbook()

# 获取默认的工作表
sheet = workbook.active

# 在 A1 单元格设置值
sheet['A1'] = "Hello"

# 在 B1 单元格设置值
sheet['B1'] = "World"

# 保存 Excel 文件
workbook.save(r"E:\UserData\Desktop\example-1.xlsx")

五、添加工作表到Excel文件

当使用 openpyxl 库在新建的 Excel 文件中添加多个工作表并设置工作表的名称时,可以按照以下步骤进行操作:

  1. 导入所需的模块: 在 Python 脚本中导入 openpyxl 模块,以便于使用其中的功能。
import openpyxl
  1. 创建 Excel 文件: 使用 openpyxl.Workbook() 方法创建一个新的 Excel 文件。
# 创建一个新的 Excel 文件
workbook = openpyxl.Workbook()
  1. 添加多个工作表并设置名称: 使用 .create_sheet() 方法添加多个工作表,并使用 .title 属性来设置工作表的名称。
# 添加工作表并设置名称
sheet1 = workbook.create_sheet("工作表 1")
sheet2 = workbook.create_sheet("工作表 2")
sheet3 = workbook.create_sheet("工作表 3")
  1. 操作工作表: 对每个工作表进行操作,例如添加数据、设置单元格值等。
# 在 Sheet1 的 A1 单元格设置值
sheet1['A1'] = "啊啊啊"

# 在 Sheet2 的 B2 单元格设置值
sheet2['B2'] = "咦咦咦"

# 在 Sheet3 的 C3 单元格设置值
sheet3['C3'] = "略略略"
  1. 保存 Excel 文件: 在完成数据操作后,确保保存你的 Excel 文件。
# 保存 Excel 文件
workbook.save("r"E:\UserData\Desktop\example-1.xlsx"")

六、添加工作表完整代码示例

import openpyxl

# 创建一个新的 Excel 文件
workbook = openpyxl.Workbook()

# 添加工作表并设置名称
sheet1 = workbook.create_sheet("工作表 1")
sheet2 = workbook.create_sheet("工作表 2")
sheet3 = workbook.create_sheet("工作表 3")

# 在 Sheet1 的 A1 单元格设置值
sheet1['A1'] = "啊啊啊"

# 在 Sheet2 的 B2 单元格设置值
sheet2['B2'] = "咦咦咦"

# 在 Sheet3 的 C3 单元格设置值
sheet3['C3'] = "略略略"

# 保存 Excel 文件
workbook.save(r"E:\UserData\Desktop\example-1.xlsx")

七、写入不同类型的数据

  1. 创建 Excel 文件和工作表: 使用 openpyxl.Workbook() 方法创建一个新的 Excel 文件,并获取默认的工作表。
workbook = openpyxl.Workbook()
sheet = workbook.active
  1. 写入不同类型的数据:
  • 写入文字(字符串):使用单引号或双引号将文字包裹起来,然后将其赋值给目标单元格。
sheet['A1'] = "Hello, world!"
  • 写入数字: 直接将数字赋值给目标单元格。
sheet['B1'] = 12345
  • 写入日期: 可以使用 Python 的 datetime 模块来处理日期,并将日期对象赋值给目标单元格。
from datetime import datetime
sheet['C1'] = datetime(2023, 8, 10)
  • 写入公式: 使用公式字符串将公式赋值给目标单元格。
sheet['D1'] = '=SUM(B1:B2)'
  1. 保存 Excel 文件: 在完成数据写入操作后,保存 Excel 文件。
workbook.save(r"E:\UserData\Desktop\example-1.xlsx")

八、写入时间、文本、数字和公式的完整代码示例

import openpyxl
from datetime import datetime

# 创建一个新的 Excel 文件
workbook = openpyxl.Workbook()
sheet = workbook.active

# 写入文字
sheet['A1'] = "Hello, world!"

# 写入数字
sheet['B1'] = 12345

# 写入日期
sheet['C1'] = datetime(2023, 8, 10)

# 写入公式
sheet['D1'] = '=SUM(B1:B2)'

# 保存 Excel 文件
workbook.save(r"E:\UserData\Desktop\example-1.xlsx")

九、单元格数据格式设置详解

关于number_format的详解
sheet.number_format 是 openpyxl 库中用于设置 Excel 工作表中单元格的数字格式的属性。通过设置这个属性,可以控制单元格中数字数据的显示格式,包括小数位数、货币符号、百分比等。

以下是关于 sheet.number_format 的详细解释:

  1. 属性说明: number_format 是工作表对象的属性,用于控制单元格中数字数据的显示格式。它适用于具有数字数据的单元格,例如整数、小数、日期等。
  2. 语法: sheet.number_format 属性的语法如下:
sheet['A1'].number_format = '格式代码'

其中,A1 是要设置格式的单元格坐标,格式代码 是表示所需数字格式的字符串。

  1. 格式代码: 格式代码是一个特定的字符串,用于定义数字数据的显示格式。格式代码基于 Excel 的自定义格式,它可以包括以下内容:
    • 数字格式:控制数字的小数位数、千位分隔符等。
    • 货币格式:设置货币符号、小数位数等。
    • 百分比格式:以百分比形式显示数字。
    • 日期和时间格式:设置日期和时间的显示方式。
  2. 示例: 下面是一些示例,展示如何使用 sheet.number_format 来设置不同的数字格式:
  • 设置整数格式:
sheet['A1'].number_format = '0'
  • 设置保留两位小数的浮点数格式:
sheet['B1'].number_format = '0.00'
  • 设置货币格式:
sheet['C1'].number_format = '$#,##0.00'
  • 设置百分比格式:
sheet['D1'].number_format = '0.00%'
  • 设置日期格式:
sheet['E1'].number_format = 'yyyy-mm-dd'
  1. 特殊字符转义: 在格式代码中,某些字符需要使用双引号包裹,以便在字符串中正确表示,例如货币符号。
  2. 默认值: 如果未设置 sheet.number_format 属性,默认情况下,单元格将以通用格式显示。
  3. 注意事项: 格式代码的具体语法和选项与 Excel 中的格式设置类似。

完整示例代码:

import openpyxl

# 创建一个新的 Excel 文件
workbook = openpyxl.Workbook()
sheet = workbook.active

# 设置数字格式
sheet['A1'] = 12345.6789
sheet['A1'].number_format = '0.00'

sheet['B1'] = 0.75
sheet['B1'].number_format = '0%'

sheet['C1'] = 42000
sheet['C1'].number_format = '$#,##0.00'

sheet['D1'] = 44518
sheet['D1'].number_format = 'yyyy-mm-dd'

# 保存 Excel 文件
workbook.save(r"E:\UserData\Desktop\example-1.xlsx")

有的时候设置单元格的格式需要使用 openpyxl.styles 模块中的样式对象来实现。下面是一个正确的示例代码来设置单元格的格式:

import openpyxl
from openpyxl.styles import NamedStyle

# 创建一个新的 Excel 文件
workbook = openpyxl.Workbook()
sheet = workbook.active

# 设置样式对象
currency_style = NamedStyle(name='currency', number_format='$#,##0.00')
percentage_style = NamedStyle(name='percentage', number_format='0.00%')

# 设置样式对象到工作表
sheet['A1'].style = currency_style
sheet['B1'].style = percentage_style

# 填充单元格
sheet['A1'] = 12345.6789
sheet['B1'] = 0.75

# 保存 Excel 文件
workbook.save(r"E:\UserData\Desktop\example-1.xlsx")
  • 在上面的代码中,我们使用 openpyxl.styles.NamedStyle 来创建样式对象,然后通过 .style 属性将样式应用于单元格。这样可以正确地设置单元格的格式。
  • 在使用 NamedStyle 创建样式对象时,你可以自定义样式的名称并根据需要设置不同的格式选项。

你可能感兴趣的:(OpenPyXL零基础教程,excel,python)