web-dev-qa-db-ja.com

スクリプトからExcel xlsxファイルを作成する方法は?

Ubuntuのメイン/ユニバースリポジトリで利用可能なパッケージを探しています Excel 2007+ xlsx スクリプト(pythonまたはPerl)からファイルを作成できます

私の要件:

  • 100%互換性のあるExcel XLSXファイル。
  • 充実した包括的なドキュメントとさまざまな例/チュートリアル
  • 安定したAPI
  • テキスト、数字、数式、ハイパーリンクを書く
  • 複数のワークシート
  • 完全なフォーマット
  • 結合されたセル
  • チャート
  • オートフィルター
  • ワークシートPNG​​/JPEG画像
  • セルのコメント
  • グループと概要
7
Sylvain Pineau

John McNamaraのモジュールを強くお勧めします。彼は、XLSXファイルを作成するためのXlsxWriterという新しいPythonモジュールを PyPi にアップロードし、DebianとUbuntu用にパッケージ化しました。

Excel :: Writer :: XLSX と呼ばれる彼が書いたPerlモジュールの移植版であり、これは Spreadsheet :: WriteExcel と呼ばれる別のPerlモジュールの拡張です。

python3-xlsxwriterpython-xlsxwriter for python 2.x)

XlsxWriter は、Excel 2007+ XLSXファイル形式でファイルを書き込むためのPythonモジュールです。

テキスト、数値、数式を複数のワークシートに書き込むために使用でき、書式設定、画像、チャート、ページ設定、オートフィルター、条件付き書式設定などの機能をサポートしています。

XlsxWriter は、Excelファイルを書き込むための代替のPythonモジュールよりもいくつかの利点があります。

  • 代替モジュールよりも多くのExcel機能をサポートします。
  • Excelで生成されたファイルとの忠実度が高い。ほとんどの場合、生成されるファイルはExcelによって生成されるファイルと100%同等です。
  • 豊富なドキュメント、サンプルファイル、テストがあります。
  • これは高速であり、非常に大きな出力ファイルでも非常に少ないメモリを使用するように構成できます。
  • Pandas (Python Data Analysis Library)との統合。

XlsxWriter 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()

enter image description here

XlsxWriterの例の完全なリストについては、こちらをご覧ください page .

libexcel-writer-xlsx-Perl

Excel :: Writer :: XLSX モジュールを使用して、2007 + XLSX形式のExcelファイルを作成できます。

複数のワークシートをワークブックに追加し、セルに書式設定を適用できます。テキスト、数値、および数式をセルに書き込むことができます。

Excel :: Writer :: XLSX は、バイナリXLS形式のExcelファイルを生成する Spreadsheet :: WriteExcel モジュールと同じインターフェースを使用します。

Excel :: Writer :: XLSXSpreadsheet :: WriteExcel のすべての機能をサポートし、場合によってはより多くの機能があります。詳細については、 Spreadsheet :: WriteExcelとの互換性 を参照してください。

XLLS形式とXLS形式の主な利点は、ワークシートでより多くの行と列を使用できることです。

XLSXファイル形式は、XLSファイル形式よりもはるかに小さなファイルも生成します。

Perl.xlsxというExcelブックの最初のワークシートに文字列、書式設定された文字列、数値、および数式を書き込むには:

# 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の例の完全なリストについては、この page をご覧ください。

13
Sylvain Pineau