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 -L -o skill.zip "https://fastmcp.me/Skills/Download/330" && unzip -o skill.zip -d .claude/skills/excel-processor && rm skill.zip
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.
35 views
1 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