Python使用xlsxwriter库创建Excel文件及图表详解

江屿
江屿
发布时间:2026-10-13| 4人浏览过
原创

本文介绍如何使用Python的xlsxwriter库创建Excel文件。内容涵盖安装方法、创建工作簿与表单、单元格数据写入,以及字体颜色、加粗、日期等格式设置。此外,详细解析了xlsxwriter支持的九大类图表(如柱状图、散点图)及其子类型,并提供绘制带偏移量散点图的完整代码示例,帮助开发者高效处理Excel数据可视化。

如需查阅更详尽的官方文档,请访问:http://xlsxwriter.readthedocs.io/

首先,通过pip命令安装xlsxwriter库。

pip install xlsxwriter

接下来进行基础操作的演示:

第一步,创建一个Excel文档对象。

workbook = xlsxwriter.Workbook(dir)

第二步,在该文档中创建具体的工作表(Sheet)。

table_name = 'sheet1'
worksheet = workbook.add_worksheet(table_name) # 创建一个表名为‘sheet1'的表,并返回这个表对象

第三步,工作表创建完成后,即可向表格中写入数据。

worksheet.write_column('A1', 5) # 在A1单元格写入数字5

若需修改输入内容的显示格式,例如设置字体颜色、加粗、斜体或日期格式等,可以使用xlsxwriter提供的格式类(Format)来实现。

具体的格式设置方法详见:http://xlsxwriter.readthedocs.io/format.html

下面以写入一个粗体、红色且符合日期格式的单元格为例进行说明。

import datetime
# 需要先把字符串格式化成日期
date_time = datetime.datetime.strptime('2017-1-25', '%Y-%m-%d')
# 定义一个格式类,粗体的红色的日期
date_format = workbook.add_format({'bold': True, 'font_color': 'red', 'num_format': 'yyyy-mm-dd'})
# 写入该格式类
worksheet.write_column('A2', date_time, date_format)

此外,xlsxwriter还支持插入多种类型的图表。

关于图表的具体用法,可参考:http://xlsxwriter.readthedocs.io/chart.html

此处摘录一段关于图表类型的介绍:

Excel定义的图表分为两级类别描述。第一级包含九大类,具体如下:

area: 面积图 bar: 转置直方图 column: 柱状图 line: 直线图 pie: 饼状图 doughnut: 环形图 scatter: 散点图 stock: 股票趋势图 radar: 雷达图

第二级则用于描述是否有连线、是否有平滑曲线等细节调整。

area
 stacked
 percent_stacked
bar
 stacked
 percent_stacked
column
 stacked
 percent_stacked
scatter
 straight_with_markers
 straight
 smooth_with_markers
 smooth
radar
 with_markers
 filled

下面举例绘制一个散点图。

chart1 = workbook.add_chart({'type': 'scatter', 'subtype': 'straight'})
chart1.set_title({'name': '图1'})
chart1.add_series({
 'name': '系列1',
 # 集合范围
 'categories': '=sheet1!$A$1:$A$89',
 # 数值范围
 'values': '=sheet1!$B$1:$B$89'),
 # 是否连线
 'line': {'none': True},
 # 默认图格式
 'marker': {'type': 'automatic'},
})
# 设置y轴的范围
chart1.set_y_axis({'max': 1.1, 'min': 0})
chart1.set_size({'x_scale': 2, 'y_scale': 2})
# 把图例插入到表中的C2位置,并且设置横轴偏移量为25,纵轴偏移量为10
worksheet.insert_chart('C2', chart1, {'x_offset': 25, 'y_offset': 10})

以上这篇

如需查阅更详尽的官方文档,请访问:http://xlsxwriter.readthedocs.io/

首先,通过pip命令安装xlsxwriter库。

pip install xlsxwriter

接下来进行基础操作的演示:

第一步,创建一个Excel文档对象。

workbook = xlsxwriter.Workbook(dir)

第二步,在该文档中创建具体的工作表(Sheet)。

table_name = 'sheet1'
worksheet = workbook.add_worksheet(table_name) # 创建一个表名为‘sheet1'的表,并返回这个表对象

第三步,工作表创建完成后,即可向表格中写入数据。

worksheet.write_column('A1', 5) # 在A1单元格写入数字5

若需修改输入内容的显示格式,例如设置字体颜色、加粗、斜体或日期格式等,可以使用xlsxwriter提供的格式类(Format)来实现。

具体的格式设置方法详见:http://xlsxwriter.readthedocs.io/format.html

下面以写入一个粗体、红色且符合日期格式的单元格为例进行说明。

import datetime
# 需要先把字符串格式化成日期
date_time = datetime.datetime.strptime('2017-1-25', '%Y-%m-%d')
# 定义一个格式类,粗体的红色的日期
date_format = workbook.add_format({'bold': True, 'font_color': 'red', 'num_format': 'yyyy-mm-dd'})
# 写入该格式类
worksheet.write_column('A2', date_time, date_format)

此外,xlsxwriter还支持插入多种类型的图表。

关于图表的具体用法,可参考:http://xlsxwriter.readthedocs.io/chart.html

此处摘录一段关于图表类型的介绍:

Excel定义的图表分为两级类别描述。第一级包含九大类,具体如下:

area: 面积图 bar: 转置直方图 column: 柱状图 line: 直线图 pie: 饼状图 doughnut: 环形图 scatter: 散点图 stock: 股票趋势图 radar: 雷达图

第二级则用于描述是否有连线、是否有平滑曲线等细节调整。

area
 stacked
 percent_stacked
bar
 stacked
 percent_stacked
column
 stacked
 percent_stacked
scatter
 straight_with_markers
 straight
 smooth_with_markers
 smooth
radar
 with_markers
 filled

下面举例绘制一个散点图。

chart1 = workbook.add_chart({'type': 'scatter', 'subtype': 'straight'})
chart1.set_title({'name': '图1'})
chart1.add_series({
 'name': '系列1',
 # 集合范围
 'categories': '=sheet1!$A$1:$A$89',
 # 数值范围
 'values': '=sheet1!$B$1:$B$89'),
 # 是否连线
 'line': {'none': True},
 # 默认图格式
 'marker': {'type': 'automatic'},
})
# 设置y轴的范围
chart1.set_y_axis({'max': 1.1, 'min': 0})
chart1.set_size({'x_scale': 2, 'y_scale': 2})
# 把图例插入到表中的C2位置,并且设置横轴偏移量为25,纵轴偏移量为10
worksheet.insert_chart('C2', chart1, {'x_offset': 25, 'y_offset': 10})

以上关于Python调用xlsxwriter创建xlsx的方法全部内容分享完毕,希望能对大家有所帮助,也希望大家多多支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。