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

XlsXcessive的Python项目详细描述


https://img.shields.io/pypi/v/xlsxcessive.svghttps://img.shields.io/pypi/pyversions/xlsxcessive.svghttps://img.shields.io/pypi/dm/xlsxcessive.svghttps://img.shields.io/travis/jaraco/xlsxcessive/master.svg

xlsxsive提供了一个python api,用于编写与excel/ooxml兼容的.xlsx 电子表格。它生成xml,因此您不必使用openpack 由YouGov将其打包成与OOXML兼容的ZIP文件。

许可证

许可证在项目元数据中指明(通常是一个或多个 在宝藏分类中)。有关详细信息,请参见this explanation

创建工作簿

生成.xlsx文件的起点是工作簿:

from xlsxcessive.xlsx 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")

当在数据结构上迭代以使用 细胞。

计算公式

单元格也可以包含公式。公式是用表示 公式代码。您可以选择提供预先计算的值和 sharedboolean标志,如果您希望在多个 细胞。引用共享公式作为其值的第一个单元格是主单元格 公式单元格。其他单元格也可以引用公式。

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文件。那是另一份工作 图书馆会讨厌它的生活。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
缺少java MIMessage附件   java试图从JSON数组向数据库插入数据   铸造java。util。ArrayList无法转换为java。util。矢量   在到达末尾后从头开始读取csv文件(Java、OpenCSV)   Java swing如何在另一个线程中打开框架   java如何为集合正确编写此比较器。排序(arrayList、comparator)?   JavaOOD将配置传递给外部类的最佳方式   java不确定如何使用switch语句从main()调用要运行的方法   java循环菜单以在选择后显示   java将位置对象转换为地址(谷歌地图)   java Hazel cast客户端端口问题   使用JarJar重新打包工具的java   使用Java Netscape目录LDAP API和二进制筛选器值   java如何从Google App Engine下载应用程序源文件   java如何居中javafx场景图“摄影机”   java调用servlet而不提交并停留在同一个JSP页面中   将文本文件加载到HashMap<Integer,List<String>>java中   JavaFX平台。重新加载站点后运行更高版本()