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

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

我正在寻找 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-xlsxwriterpython-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 示例的完整列表。

相关内容