将 excel 文件作为类似 excel 的表格嵌入到 sphinx 文档中。
项目描述
sphinxcontrib-excel 表
sphinxcontrib-excel-table 扩展是在 Sphinx 文档中将 excel 文件呈现为类似 excel 的表。
这个contrib的灵感来自sphinxcontrib-excel,它使用pyexcel和handsontable来做这项工作,但是sphinxcontrib-excel-table会改为使用openpyxl和handontable,主要是为了支持以下功能:
合并单元格
显示特定工作表
在一张纸上显示特定部分
在一张纸上显示特定的行
安装
您可以通过 pip 安装它:
$ pip install sphinxcontrib-excel-table
或从源代码安装:
$ git clone https://github.com/hackerain/sphinxcontrib-excel-table.git
$ cd sphinxcontrib-excel-table
$ python setup.py install
设置
将 sphinxcontrib.excel_table 添加到您的 conf.py 文件中:
extensions = ['sphinxcontrib.excel_table']
并且你需要将资源文件复制到你的sphinx源目录,如果你通过pip安装包,资源文件已经安装到你的python系统路径,你可以从安装路径复制它们。您可以通过以下方式获取安装路径:
python -c "import sphinxcontrib.excel_table; print sphinxcontrib.excel_table"
例如在 Mac 中:
$ INSTALLATION_PATH=/Library/Python/2.7/site-packages/sphinxcontrib/excel_table/
$ cp $INSTALLATION_PATH/resources/_templates/layout.html path/to/your/project/_templates/
$ cp $INSTALLATION_PATH/resources/_static/handsontable.full.min.js path/to/your/project/_static/
$ cp $INSTALLATION_PATH/resources/_static/handsontable.full.min.css path/to/your/project/_static/
或者您可以直接从源代码中复制资源文件。
用法
以下是在 sphinx 文档中显示 excel 文件的语法:
.. excel-table::
:file: path/to/file.xlsx
这将转化为:
如你所见,它支持合并单元格,这是这个contrib主要实现的目标,因为其他sphinxcontrib excel扩展不支持这个特性,也不方便实现。sphinxcontrib-excel-table 可以使用 openpyxl 库轻松完成此操作。
选项
这个 sphinxcontrib 提供以下选项:
文件(必填)
excel 文档的相对路径(基于文档)。请注意,由于 openpyxl 仅支持 excel xlsx/xlsm/xltx/xltm 文件,因此此 contrib 不支持其他旧的 excel 文件格式,如 xls。
.. excel-table::
:file: path/to/file.xlsx
表(可选)
指定要显示的工作表的名称,如果没有给出,它将默认为 excel 文件中的第一个工作表。
.. excel-table::
:file: path/to/file.xlsx
:sheet: Sheet2
请注意,此 contrib 只能在一个 excel-table 指令中显示一张工作表,但您可以在不同的指令中在一个 excel 中显示不同的工作表。
行(可选)
指定一张表做显示的行范围,默认是在一张表中显示所有行,如果你使用这个选项,记得指定一个冒号分隔的范围。
.. excel-table::
:file: path/to/file.xlsx
:rows: 1:10
选择(可选)
选择定义从和到选择范围。如果未定义值,则将工作表中的整个数据放入表中。如果使用选择,它必须指定由冒号分隔的 from 和 to 范围。
.. excel-table::
:file: path/to/file.xlsx
:selection: A1:D10
溢出(可选)
防止表格在父元素之外重叠。如果选择了 'horizontal' 选项,那么如果父级的宽度比表格的宽度窄,表格将出现水平滚动条。默认为'horizontal',如果要禁用此功能,可以将此选项设置为false。
.. excel-table::
:file: path/to/file.xlsx
:overflow: false
colwidths(可选)
以像素为单位定义列宽。接受数字、字符串(将转换为数字)、数字数组(如果您想为每列单独定义列宽)或函数(如果您想在每次渲染时动态设置列宽)。默认值为未定义,表示宽度将由父元素决定。
.. excel-table::
:file: path/to/file.xlsx
:colwidths: 100
row_header(可选)
决定是否显示行头,默认为true,表示显示行头,可以设置为false禁用行头。
.. excel-table::
:file: path/to/file.xlsx
:row_header: false
col_header(可选)
决定是否显示 col 头,默认为 true,表示显示 col 头,可以设置为 false 禁用 col 头。
.. excel-table::
:file: path/to/file.xlsx
:col_header: false
更改日志
1.0.0
将代码重构到一个文件夹
1.0.1
将边距底部添加到 excel 表格 div
1.0.2
添加 row_header 和 col_header 选项来控制是否显示表头
1.0.3
修复 openpyxl 升级到 2.5.2 时的 bug
1.0.4
添加 python 3 支持
1.0.6
修复多次调用同一个文件将表分块时的错误
在 Python 3 中运行时修复错误日期 NameError
使用openpyxl新的merged_cells接口
1.0.7
添加设置表格宽度的功能
项目详情
sphinxcontrib_excel_table_enhanced -1.0.7-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | c751d7f35836ddc7426aa695cb515bcf2800ed09142cf758a6c4a70e0f6591ba |
|
| MD5 | e844a378564af3a7d58a3633f89e9b4f |
|
| 布莱克2-256 | 64ee5306b779a3e29f7cd54e21fc5fb657f06529a4924965131b4ac158122bd1 |