Report Generator

作者 claude-office-skills9c4c7d5cd281MIT499 个星标收录于 2026年10月8日更新于 2026年10月8日仓库8个月前更新

Generate professional data reports with charts, tables, and visualizations

AI 生成的概览

根据提供的数据生成带图表、表格和 KPI 摘要的格式化数据报告。

功能
该技能指导智能体生成专业数据报告,例如仪表板、KPI 摘要和分析报告。它描述了报告结构、基于 Python 的图表与指标计算示例,以及 HTML 报告模板。产出为包含可视化、表格和洞察的格式化报告。
适用场景
当你拥有 CSV、Excel 或 JSON 形式的数据,并希望得到格式化报告、仪表板或高管摘要时使用。适用于销售报告、月度 KPI 仪表板以及数据分析报告。
运行要求
仅为说明性内容,技能不附带脚本。示例涉及 Python 及 pandas、matplotlib、reportlab,元数据还列出 office-mcp 服务器及 create_docx、create_xlsx、create_chart、create_pptx 工具。

Report Generator Skill

Overview

This skill enables automatic generation of professional data reports. Create dashboards, KPI summaries, and analytical reports with charts, tables, and insights from your data.

How to Use

  1. Provide data (CSV, Excel, JSON, or describe it)
  2. Specify the type of report needed
  3. I'll generate a formatted report with visualizations

Example prompts:

  • "Generate a sales report from this data"
  • "Create a monthly KPI dashboard"
  • "Build an executive summary with charts"
  • "Produce a data analysis report"

Domain Knowledge

Report Components

python
# Report structurereport = {    'title': 'Monthly Sales Report',    'period': 'January 2024',    'sections': [        'executive_summary',        'kpi_dashboard',        'detailed_analysis',        'charts',        'recommendations'    ]}

Using Python for Reports

python
import pandas as pdimport matplotlib.pyplot as pltfrom reportlab.lib.pagesizes import letterfrom reportlab.pdfgen import canvas
def generate_report(data, output_path):    # Load data    df = pd.read_csv(data)        # Calculate KPIs    total_revenue = df['revenue'].sum()    avg_order = df['revenue'].mean()    growth = df['revenue'].pct_change().mean()        # Create charts    fig, axes = plt.subplots(2, 2, figsize=(12, 10))    df.plot(kind='bar', ax=axes[0,0], title='Revenue by Month')    df.plot(kind='line', ax=axes[0,1], title='Trend')    plt.savefig('charts.png')        # Generate PDF    # ... PDF generation code        return output_path

HTML Report Template

python
def generate_html_report(data, title):    html = f'''    <!DOCTYPE html>    <html>    <head>        <title>{title}</title>        <style>            body {{ font-family: Arial; margin: 40px; }}            .kpi {{ display: flex; gap: 20px; }}            .kpi-card {{ background: #f5f5f5; padding: 20px; border-radius: 8px; }}            .metric {{ font-size: 2em; font-weight: bold; color: #2563eb; }}            table {{ border-collapse: collapse; width: 100%; }}            th, td {{ border: 1px solid #ddd; padding: 12px; text-align: left; }}        </style>    </head>    <body>        <h1>{title}</h1>        <div class="kpi">            <div class="kpi-card">                <div class="metric">${data['revenue']:,.0f}</div>                <div>Total Revenue</div>            </div>            <div class="kpi-card">                <div class="metric">{data['growth']:.1%}</div>                <div>Growth Rate</div>            </div>        </div>        <!-- More content -->    </body>    </html>    '''    return html

Example: Sales Report

python
import pandas as pdimport matplotlib.pyplot as plt
def create_sales_report(csv_path, output_path):    # Read data    df = pd.read_csv(csv_path)        # Calculate metrics    metrics = {        'total_revenue': df['amount'].sum(),        'total_orders': len(df),        'avg_order': df['amount'].mean(),        'top_product': df.groupby('product')['amount'].sum().idxmax()    }        # Create visualizations    fig, axes = plt.subplots(2, 2, figsize=(14, 10))        # Revenue by product    df.groupby('product')['amount'].sum().plot(        kind='bar', ax=axes[0,0], title='Revenue by Product'    )        # Monthly trend    df.groupby('month')['amount'].sum().plot(        kind='line', ax=axes[0,1], title='Monthly Revenue'    )        plt.tight_layout()    plt.savefig(output_path.replace('.html', '_charts.png'))        # Generate HTML report    html = generate_html_report(metrics, 'Sales Report')        with open(output_path, 'w') as f:        f.write(html)        return output_path
create_sales_report('sales_data.csv', 'sales_report.html')

Resources

来源与署名

来源:claude-office-skills/skills位于report-generator提交9c4c7d5

许可证: MIT

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架