1. ホーム
  2. python

[解決済み] ReportLabで簡単な表を作る方法

2022-02-19 12:55:22

質問

ReportLabで簡単な表を作るにはどうしたらいいですか?2×20の簡単な表を作り、データを入れたいのですが。どなたか例を教えてください。

どのように解決するのですか?

最もシンプルなテーブル機能です。

table = Table(data, colWidths=270, rowHeights=79)

何列、何行になるかは、データのタプルに依存します。テーブルの関数は次のようなものです。

from reportlab.platypus import SimpleDocTemplate
from reportlab.platypus.tables import Table
cm = 2.54

def print_pdf(modeladmin, request, queryset):
    response = HttpResponse(mimetype='application/pdf')
    response['Content-Disposition'] = 'attachment; filename=somefilename.pdf'

    elements = []

    doc = SimpleDocTemplate(response, rightMargin=0, leftMargin=6.5 * cm, topMargin=0.3 * cm, bottomMargin=0)

    data=[(1,2),(3,4)]
    table = Table(data, colWidths=270, rowHeights=79)
    elements.append(table)
    doc.build(elements) 
    return response

これは2X2の表を作り、そこに1,2,3,4の数字を記入します。次に、ファイルドキュメントを作成します。私の場合は、HttpResponseを作りましたが、これはファイルとほとんど同じです。