跳转到主要内容

用于编写.xlsx文件的Python库。

项目描述

https://img.shields.io/pypi/v/xlsxcessive.svg https://img.shields.io/pypi/pyversions/xlsxcessive.svg tests Code style: Black https://img.shields.io/badge/skeleton-2022-informational

XlsXcessive提供了一个Python API,用于编写与Excel/OOXML兼容的.xlsx电子表格。它生成XML,并使用openpack将其包装成OOXML兼容的ZIP文件。

创建工作簿

生成.xlsx文件的开端是一个工作簿

from xlsxcessive.workbook import Workbook

workbook = Workbook()

添加工作表

仅工作簿本身并不很有用。可以将多个工作表添加到工作簿中,并包含具有数据、公式等的单元格。工作表从工作簿创建,需要名称

sheet1 = workbook.new_sheet('Sheet 1')

处理单元格

向工作表添加一些单元格

sheet1.cell('A1', value='Hello, world')
sheet1.cell('B1', value=7)
sheet1.cell('C1', value=3.14)
sheet1.cell('D1', value=decimal.Decimal("19.99"))

支持字符串、整数、浮点数和小数。

通过行索引和列索引添加单元格

sheet1.cell(coords=(0, 4), value="Added via row/col index")

这种地址形式在迭代数据结构以填充工作表的单元格时很有用。

使用公式进行计算

单元格还可以包含公式。公式通过表示公式代码的字符串创建。您可以可选地提供一个预先计算的值和一个共享布尔标志来在多个单元格之间共享公式。第一个引用共享公式作为其值的单元格是公式的母单元格。其他单元格也可能引用该公式

formula = sheet1.formula('B1 + C1', shared=True)
sheet1.cell('C2', formula) # master
sheet1.cell('D2', formula) # shared, references the master formula

具有样式的单元格

该库包含对单元格样式的基本支持。首先要做的是创建一个样式格式。样式格式在工作簿的样式表上共享。

bigfont = workbook.stylesheet.new_format()
bigfont.font(size=24, bold=True)

将格式应用于单元格

sheet1.cell('A2', 'HI', format=bigfont)

其他支持的风格转换包括单元格对齐和边框

col_header = workbook.stylesheet.new_format()
col_header.align('center')
col_header.border(bottom='medium')

调整列宽

可以在工作表上调整列宽。列宽由数字或索引指定。

# these are the same column
sheet1.col(index=0, width=10)
sheet1.col(number=1, width=10)

待办事项:按字母引用列。

合并单元格

可以将单元格合并在一起。合并范围中最左侧的单元格应包含数据。

from xlsxcessive.worksheet import Cell
a3 = sheet1.cell('A3', 'This is a lot of text to fit in a tiny cell')
a3.merge(Cell('D3'))

保存您的作品

可以将生成的OOXML数据保存到本地文件或输出文件流。

# local file
save(workbook, 'financials.xlsx')

# stream
save(workbook, 'financials.xlsx', stream=sys.stdout)

未来

这当然是一个正在进行中的工作。重点是改进可以写入.xlsx文件的功能。这意味着更多的数据类型、样式、元数据等。我还想改进在以错误方式写入之前对数据的验证,Excel会对此提出抱怨。我认为这个库永远不会被用来读取.xlsx文件。这是另一个可以恨其生活的库的工作。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

xlsxcessive-1.1.3.tar.gz (36.5 kB 查看散列)

上传时间

构建分布

xlsxcessive-1.1.3-py3-none-any.whl (26.4 kB 查看散列)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面