将excel文件作为一个类似excel的表嵌入到sphinx文档中。

sphinxcontrib-excel-table-enhanced的Python项目详细描述


SphinxContrib Excel表格

sphinxcontrib excel表扩展名是在sphinx文档中将excel文件呈现为类似于excel的表。

这种设计灵感来自sphinxcontrolib excel,它使用pyexcel和handsontable来完成 可以,但是sphinxcontrib excel表将使用openpyxl和handsontable,主要用于 支持以下功能:

  • 合并单元格
  • 显示特定工作表
  • 在一张纸中显示特定部分
  • 在一张工作表中显示特定行

安装

您可以通过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_表添加到conf.py文件:

extensions = ['sphinxcontrib.excel_table']

您需要将资源文件复制到sphinx源目录,即资源文件 已安装到python系统路径如果通过pip安装包,则可以复制 它们来自安装路径。您可以通过以下路径获取安装路径:

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

这将转换为:

https://raw.githubusercontent.com/hackerain/sphinxcontrib-excel-table/master/sphinx_excel_table.png

如您所见,它支持合并单元格,这是contrib将实现的主要目标,因为其他sphinxcontrolib excel扩展不支持此功能,并且不方便实现它。sphinxcontrib excel表可以使用openpyxl库轻松完成这项工作。

选项

sphinxcontrib提供以下选项:

文件(必需)

Excel文档的相对路径(基于文档)。请注意,由于openpyxl只支持excel xlsx/xlsm/xltx/xltm文件,因此此控制器不支持其他旧的excel文件格式,如xls。

.. excel-table::
   :file: path/to/file.xlsx

工作表(可选)

指定要显示的工作表的名称,如果未指定,则默认为Excel文件中的第一个工作表。

.. excel-table::
   :file: path/to/file.xlsx
   :sheet: Sheet2

注意:此控件只能在一个excel表指令中显示一个工作表,但可以在不同指令中在一个excel中显示不同的工作表。

行(可选)

指定一个工作表要显示的行范围,默认值是显示一个工作表中的所有行,如果使用此选项,请记住指定一个用冒号分隔的范围。

.. excel-table::
   :file: path/to/file.xlsx
   :rows: 1:10

选择(可选)

选择定义从和到选择范围。如果未定义值,则将工作表中的所有数据放入表中。如果使用selection,则必须指定用冒号分隔的from和to范围。

.. excel-table::
   :file: path/to/file.xlsx
   :selection: A1:D10

溢出(可选)

防止表在父元素外重叠。如果选择“水平”选项,则表格将显示为水平 如果父级的宽度比表的宽度窄,则使用滚动条。默认值为“水平”,如果要禁用此功能,可以将此选项设置为false。

.. excel-table::
   :file: path/to/file.xlsx
   :overflow: false

colwidths(可选)

以像素为单位定义列宽。接受数字、字符串(将转换为数字); 数字数组(如果要分别为每列定义列宽)或 函数(如果要在每个渲染上动态设置列宽)。默认值未定义,表示宽度将由父元素确定。

.. excel-table::
   :file: path/to/file.xlsx
   :colwidths: 100

行标题(可选)

要决定是否显示行标题,默认值为true,表示要显示行标题,可以 将此设置为false可禁用行标题。

.. excel-table::
   :file: path/to/file.xlsx
   :row_header: false

col_头(可选)

若要决定是否显示列标题,默认值为true,表示要显示列标题,可以 把这个设成false禁用列标题。

.. excel-table::
   :file: path/to/file.xlsx
   :col_header: false

更改日志

1.0.0

  • 将代码重构到一个文件夹中

1.0.1

  • 将页边距底部添加到excel table div

1.0.2

  • 添加行标题和列标题选项以控制是否显示标题

1.0.3

  • 修复openpyxl升级到2.5.2时的错误

1.0.4

  • 添加Python3支持

1.0.6

  • 修复多次调用同一文件将表分块时出现的错误
  • 在Python3中运行时修复错误日期名称错误
  • 使用openpyxl的新合并单元格界面

1.0.7

  • 添加设置表格宽度的功能

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

推荐PyPI第三方库


热门话题
java InputStream对象在声明后关闭   java未定义名为“transactionManager”的bean重命名transactionManager   java“jar”命令何时会拒绝将类添加到java中。jar文件?   java JPA标准依赖WHERE子句   安卓中从SD卡读取文本文件时出现java错误   java直接启用类似位置的权限   使用@WebMvcTest和Mockito-BDDMockito对SpringBoot-RestController进行java测试   java JSESSIONID存储在哪里?   java jtextarea鼠标事件覆盖容器鼠标事件   java DRL无法解析动态加载的类   java是从一个方法返回多个对象的最简单方法   java自定义按钮/编辑框是否不可见?   java GUI如何在保存用户输入的同时在面板或框架之间切换   swing Java自定义JSlider不会更新   GridBagLayout中的java超过1个JPanel   java从ProjectReactor中的flux中采样除第一个元素外的所有元素   Java泛型和泛型类型   Java代码生成宽指令的jvm