ntaksh42 / excel-processor
Install for your project team
Run this command in your project directory to install the skill for your entire team:
mkdir -p .claude/skills/excel-processor && curl -o .claude/skills/excel-processor/SKILL.md https://fastmcp.me/Skills/DownloadRaw?id=330
Project Skills
This skill will be saved in .claude/skills/excel-processor/ and checked into git. All team members will have access to it automatically.
Important: Please verify the skill by reviewing its instructions before using it.
Process Excel files with data manipulation, formula generation, and chart creation. Use when working with spreadsheets or Excel data.
0 views
0 installs
Skill Content
---
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)
```python
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)
```javascript
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)
```python
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')
```
### 高度な機能
```python
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