我正在寻找 Ubuntu 主/Universe 存储库中可用的软件包,能够创建Excel 2007+ xlsx来自脚本(python 或 perl)的文件
我的要求:
- 100% 兼容 Excel XLSX 文件。
- 详细全面的文档以及各种示例/教程
- 稳定的 API
- 编写文本、数字、公式和超链接
- 多个工作表
- 完整格式化
- 合并单元格
- 图表
- 自动过滤器
- 工作表 PNG/JPEG 图像
- 单元格注释
- 群组和大纲
答案1
我强烈推荐 John McNamara 的模块。他上传了一个名为 XlsxWriter 的新 Python 模块,用于创建 XLSX 文件PyPi我为 Debian 和 Ubuntu 打包了它。
它是他编写的 Perl 模块的一个端口,名为Excel::作家::XLSX这是另一个 Perl 模块的扩展,名为电子表格::WriteExcel。
python3-xlsxwriter(python-xlsxwriter适用于 Python 2.x)
编写器是一个用于以 Excel 2007+ XLSX 文件格式写入文件的 Python 模块。
它可用于将文本、数字和公式写入多个工作表,并支持格式、图像、图表、页面设置、自动过滤、条件格式等功能。
编写器与编写 Excel 文件的其他 Python 模块相比,它具有一些优势:
- 它比任何其他替代模块都支持更多的 Excel 功能。
- 它与Excel生成的文件具有很高的保真度。在大多数情况下,生成的文件与Excel生成的文件100%相同。
- 它有丰富的文档、示例文件和测试。
- 它速度很快,并且可以配置为即使对于非常大的输出文件也只使用很少的内存。
- 集成熊猫(Python数据分析库)。
以下是一些功能的简单示例编写器Python 模块:
#Copyright 2013-2014, John McNamara, [email protected]
import xlsxwriter
# Create an new Excel file and add a worksheet.
workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()
# Widen the first column to make the text clearer.
worksheet.set_column('A:A', 20)
# Add a bold format to use to highlight cells.
bold = workbook.add_format({'bold': True})
# Write some simple text.
worksheet.write('A1', 'Hello')
# Text with formatting.
worksheet.write('A2', 'World', bold)
# Write some numbers, with row/column notation.
worksheet.write(2, 0, 123)
worksheet.write(3, 0, 123.456)
# Insert an image.
worksheet.insert_image('B5', 'logo.png')
workbook.close()
访问此页以获取 XlsxWriter 示例的完整列表。
libexcel-writer-xlsx-perl
这Excel::作家::XLSX模块可用于创建2007+ XLSX格式的Excel文件。
可以将多个工作表添加到工作簿中,并且可以对单元格应用格式。可以将文本、数字和公式写入单元格。
Excel::作家::XLSX使用与电子表格::WriteExcel生成二进制 XLS 格式的 Excel 文件的模块。
Excel::作家::XLSX支持所有功能电子表格::WriteExcel在某些情况下具有更多功能。有关更多详细信息,请参阅与 Spreadsheet::WriteExcel 的兼容性。
XLSX 格式相对于 XLS 格式的主要优势在于它允许工作表中有更多的行和列。
XLSX 文件格式生成的文件也比 XLS 文件格式小得多。
要将一个字符串、一个格式化的字符串、一个数字和一个公式写入 Excel 工作簿中名为的第一个工作表perl.xlsx
:
# reverse ('(c)'), March 2001, John McNamara, [email protected]
use Excel::Writer::XLSX;
# Create a new Excel workbook
my $workbook = Excel::Writer::XLSX->new( 'perl.xlsx' );
# Add a worksheet
$worksheet = $workbook->add_worksheet();
# Add and define a format
$format = $workbook->add_format();
$format->set_bold();
$format->set_color( 'red' );
$format->set_align( 'center' );
# Write a formatted and unformatted string, row and column notation.
$col = $row = 0;
$worksheet->write( $row, $col, 'Hi Excel!', $format );
$worksheet->write( 1, $col, 'Hi Excel!' );
# Write a number and a formula using A1 notation
$worksheet->write( 'A3', 1.2345 );
$worksheet->write( 'A4', '=SIN(PI()/4)' );
访问此页以获取 Excel::Writer::XLSX 示例的完整列表。