如何从脚本创建 Excel xlsx 文件?

Syl*_*eau 8 python scripts perl xls python3

我正在寻找能够从脚本(python 或 perl)创建Excel 2007+ xlsx文件的Ubuntu 主/宇宙存储库中可用的软件包

我的要求:

  • 100% 兼容 Excel XLSX 文件。
  • 扎实而全面的文档和各种示例/教程
  • 稳定的API
  • 书写文本、数字、公式和超链接
  • 多个工作表
  • 完全格式化
  • 合并单元格
  • 图表
  • 自动过滤器
  • 工作表 PNG/JPEG 图像
  • 单元格注释
  • 组和大纲

Syl*_*eau 13

我强烈推荐 John McNamara 的模块。他上传了一个名为 XlsxWriter 的新 Python 模块,用于创建 XLSX 文件到PyPi,我为 Debian 和 Ubuntu 打包了该文件。

它是他编写的名为Excel::Writer::XLSX的 Perl 模块的一个端口,它是另一个名为Spreadsheet::WriteExcel 的Perl 模块的扩展。

python3-xlsxwriter(python 2.x 的python-xlsxwriter

XlsxWriter是一个 Python 模块,用于以 Excel 2007+ XLSX 文件格式写入文件。

它可用于将文本、数字和公式写入多个工作表,并支持格式、图像、图表、页面设置、自动过滤器、条件格式等功能。

XlsxWriter在编写 Excel 文件方面比其他 Python 模块有一些优势:

  • 它支持的 Excel 功能比任何替代模块都多。
  • 它对 Excel 生成的文件具有高度的保真度。在大多数情况下,生成的文件与 Excel 生成的文件 100% 等效。
  • 它有大量的文档、示例文件和测试。
  • 它速度很快,即使对于非常大的输出文件,也可以配置为使用很少的内存。
  • Pandas(Python 数据分析库)集成。

XlsxWriter Python 模块的一些功能的简单示例:

#Copyright 2013-2014, John McNamara, jmcnamara@cpan.org
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()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

访问此页面以获取 XlsxWriter 示例的完整列表。

libexcel-writer-xlsx-perl

Excel中::作家:: XLSX模块可用于创建在2007+ XLSX格式的Excel文件。

可以将多个工作表添加到工作簿中,并且可以将格式应用于单元格。文本、数字和公式可以写入单元格。

Excel::Writer::XLSX使用与Spreadsheet::WriteExcel模块相同的接口,后者生成二进制 XLS 格式的 Excel 文件。

Excel::Writer::XLSX支持Spreadsheet::WriteExcel 的所有功能,并且在某些情况下具有更多功能。有关更多详细信息,请参阅与 Spreadsheet::WriteExcel 的兼容性

与 XLS 格式相比,XLSX 格式的主要优点是它允许工作表中有更多的行和列。

XLSX 文件格式生成的文件也比 XLS 文件格式小得多。

要将字符串、格式化字符串、数字和公式写入名为 的 Excel 工作簿中的第一个工作表perl.xlsx

# reverse ('(c)'), March 2001, John McNamara, jmcnamara@cpan.org
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)' );
Run Code Online (Sandbox Code Playgroud)

访问此页面以获取 Excel::Writer::XLSX 示例的完整列表。