Claude Code Plugins

Community-maintained marketplace

Feedback

excel-processor

@ntaksh42/agents
0
0

Process Excel files with data manipulation, formula generation, and chart creation. Use when working with spreadsheets or Excel data.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name excel-processor
description Process Excel files with data manipulation, formula generation, and chart creation. Use when working with spreadsheets or Excel data.

Excel Processor Skill

Excelファイルの作成、編集、解析を行うスキルです。

概要

Excelの読み書き、数式、グラフ、スタイル設定を自動化します。

主な機能

  • データ読み書き: セル、行、列の操作
  • 数式: SUM、VLOOKUP等の自動生成
  • グラフ: 折れ線、棒、円グラフ
  • スタイル: 色、フォント、罫線
  • 条件付き書式: ルールベースの書式
  • ピボットテーブル: 集計表作成
  • CSV/JSON変換: データ変換

使用方法

Python (openpyxl)

from openpyxl import Workbook, load_workbook
from openpyxl.styles import Font, PatternFill
from openpyxl.chart import BarChart, Reference

# 新規作成
wb = Workbook()
ws = wb.active
ws.title = "Sales Data"

# データ入力
ws['A1'] = "Product"
ws['B1'] = "Sales"
ws.append(["iPhone", 1000])
ws.append(["MacBook", 800])

# スタイル設定
ws['A1'].font = Font(bold=True)
ws['A1'].fill = PatternFill(start_color="FFFF00", fill_type="solid")

# グラフ作成
chart = BarChart()
data = Reference(ws, min_col=2, min_row=1, max_row=3)
cats = Reference(ws, min_col=1, min_row=2, max_row=3)
chart.add_data(data, titles_from_data=True)
chart.set_categories(cats)
ws.add_chart(chart, "D1")

wb.save("sales.xlsx")

# 読み込み
wb = load_workbook("sales.xlsx")
ws = wb.active
for row in ws.iter_rows(values_only=True):
    print(row)

JavaScript (ExcelJS)

const ExcelJS = require('exceljs');

async function createExcel() {
  const workbook = new ExcelJS.Workbook();
  const worksheet = workbook.addWorksheet('Sales');

  // ヘッダー
  worksheet.columns = [
    { header: 'Product', key: 'product', width: 15 },
    { header: 'Sales', key: 'sales', width: 10 }
  ];

  // データ
  worksheet.addRow({ product: 'iPhone', sales: 1000 });
  worksheet.addRow({ product: 'MacBook', sales: 800 });

  // スタイル
  worksheet.getRow(1).font = { bold: true };
  worksheet.getRow(1).fill = {
    type: 'pattern',
    pattern: 'solid',
    fgColor: { argb: 'FFFFFF00' }
  };

  // 数式
  worksheet.getCell('B4').value = { formula: 'SUM(B2:B3)' };

  await workbook.xlsx.writeFile('sales.xlsx');
}

データ分析 (pandas)

import pandas as pd

# 読み込み
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# 分析
summary = df.groupby('Category')['Sales'].sum()

# 書き込み
with pd.ExcelWriter('output.xlsx', engine='openpyxl') as writer:
    df.to_excel(writer, sheet_name='Data', index=False)
    summary.to_excel(writer, sheet_name='Summary')

高度な機能

from openpyxl.utils.dataframe import dataframe_to_rows
from openpyxl.chart import LineChart, Reference

# データフレームから
import pandas as pd
df = pd.DataFrame({
    'Month': ['Jan', 'Feb', 'Mar'],
    'Sales': [100, 150, 120]
})

wb = Workbook()
ws = wb.active
for r in dataframe_to_rows(df, index=False, header=True):
    ws.append(r)

# 条件付き書式
from openpyxl.formatting.rule import ColorScaleRule
ws.conditional_formatting.add('B2:B4',
    ColorScaleRule(start_type='min', start_color='AA0000',
                   end_type='max', end_color='00AA00'))

# 数式
ws['B5'] = '=AVERAGE(B2:B4)'
ws['B6'] = '=MAX(B2:B4)'

wb.save('advanced.xlsx')

ライブラリ

Python

  • openpyxl: .xlsx読み書き
  • xlrd/xlwt: .xls (旧形式)
  • pandas: データ分析
  • xlsxwriter: 高速書き込み

JavaScript

  • ExcelJS: 完全機能
  • xlsx: SheetJS、読み込み特化
  • node-xlsx: シンプル

Go

  • excelize: 高性能

Java

  • Apache POI: 標準ライブラリ

バージョン情報

  • スキルバージョン: 1.0.0
  • 最終更新: 2025-01-22