openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files

Author

Eric Gazoni, Charlie Clark

Source code

https://foss.heptapod.net/openpyxl/openpyxl

Issues

https://foss.heptapod.net/openpyxl/openpyxl/-/issues

Generated

2022 年 03 月 29 日

License

MIT/Expat

Version

3.0.9

coverage status

简介

openpyxl 是用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。

它的诞生是由于缺乏现有的库,无法直接从 Python 中读取/写入 Office Open XML 格式。

对于 PHPExcel 团队来说,所有的荣誉都是基于 openpyxl 的。

安全

默认情况下,openpyxl 不能防止二次膨胀或十亿大笑 xml 攻击。为了防止这些攻击,请安装 defusedxml。

邮箱列表

用户名单可在 http://groups.google.com/group/openpyxl-users 上找到

样例代码:

from openpyxl import Workbook
wb = Workbook()

# grab the active worksheet
ws = wb.active

# Data can be assigned directly to cells
ws['A1'] = 42

# Rows can also be appended
ws.append([1, 2, 3])

# Python types will automatically be converted
import datetime
ws['A2'] = datetime.datetime.now()

# Save the file
wb.save("sample.xlsx")

文档

文档在(英文):https://openpyxl.readthedocs.io

  • 安装方法

  • 代码样例

  • 指令的贡献

发行注解:https://openpyxl.readthedocs.io/en/stable/changes.html

支持

这是开源项目,由志愿者在业余时间维护。这很可能意味着您想要的特定功能或功能丢失了。但事情并不一定会一直这样。你可以自己提交项目 Development,也可以与开发者签订合同,开发特定功能。

openpyxl 的专业支持可从 Clark Consulting & ResearchAdimian 获得。我们欢迎捐款支持该项目的进一步发展和维护。

错误报告和特性请求应该通过 问题跟踪器 提交。请提供完整的追溯您看到的任何错误,如果可能的话,示例文件。如果出于保密原因,你不能将文件公开,那么请联系其中开发者。

存储库由 OctobusClever Cloud 提供。

如何贡献

任何帮助我们都会非常感激,只要遵循以下步骤:

1. Please join the group and create a branch (https://foss.heptapod.net/openpyxl/openpyxl/) and follow the Merge Request Start Guide. for each independent feature, don’t try to fix all problems at the same time, it’s easier for those who will review and merge your changes ;-)

2. Hack hack hack

3. Don’t forget to add unit tests for your changes! (YES, even if it’s a one-liner, changes without tests will not be accepted.) There are plenty of examples in the source if you lack know-how or inspiration.

4. If you added a whole new feature, or just improved something, you can be proud of it, so add yourself to the AUTHORS file :-)

5. Let people know about the shiny thing you just implemented, update the docs!

6. When it’s done, just issue a pull request (click on the large “pull request” button on your repository) and wait for your code to be reviewed, and, if you followed all theses steps, merged into the main repository.

有关更多信息,请参阅 Development

其他的帮助方式

即使你不会写代码(或者写得不好),你也可以通过多种方式做出贡献:

  • 在 bug 跟踪器上分类 bug:关闭已经关闭的 bug,不相关的 bug,不能被复现的 bug,…

  • 几乎在每个领域更新文档:已经添加了许多大型功能(目前主要是关于图表和图像),但没有任何文档,它很难做任何事情。

  • 建议针对不同版本的Python进行兼容性修复:我们支持 3.6、3.7、3.8 和 3.9。

安装

使用 pip 安装 openpyxl。建议在没有系统包的 Python virtualenv 中这样做::”

$ pip install openpyxl

备注

支持流行的 lxml 库,如果安装它将被使用。这在创建大文件时特别有用。

警告

为了能够包含图像(jpeg, png, bmp,…)到 openpyxl 文件,你还需要 “pillow” 库,可以安装:

$ pip install pillow

或浏览 https://pypi.python.org/pypi/Pillow/,选择最新版本,然后在页面底部查找 Windows 二进制文件。

使用签出

有时您可能想要使用特定版本的签出。如果漏洞已经修复,但还没有发布版本,情况可能就是这样。

$ pip install -e hg+https://foss.heptapod.net/openpyxl/openpyxl/@3.0#egg=openpyxl

使用案例

教程

食谱

性能

其他主题

开发者信息

API 文档

关键类

完整 API

索引和目录

发布说明