📗 XActions Excel Plugin
Export scraped X/Twitter data to styled Excel (.xlsx) files with auto-filters, frozen headers, and multi-sheet workbooks.
Plugin: xactions-plugin-excel
Author: nich (@nichxbt)
🖥️ CLI Usage
All scrape commands now support .xlsx output:
# Scrape followers to Excel
xactions followers @nichxbt -o followers.xlsx
# Scrape tweets to Excel with custom sheet name
xactions tweets @nichxbt -l 200 -o tweets.xlsx --sheet-name "Tweets 2026"
# Scrape following to Excel
xactions following @nichxbt -o following.xlsx
📚 Multi-Sheet Workbooks
Combine multiple datasets into a single Excel file:
import { exportMultiSheet } from 'xactions/plugins/excel';
const result = await exportMultiSheet({
'Followers': followersData,
'Following': followingData,
'Tweets': tweetsData,
'Non-Followers': nonFollowersData,
}, {
filepath: './twitter-audit.xlsx',
});
console.log(`✅ Created ${result.sheets.length}-sheet workbook with ${result.totalRows} total rows`);
🤖 MCP Tools (AI Agents)
| Tool | Description |
|---|---|
x_export_to_excel |
Export data to a styled .xlsx file |
x_export_multi_sheet_excel |
Export multiple datasets to separate sheets |
x_read_from_excel |
Read an .xlsx file into JSON objects |
Example AI agent prompt:
"Scrape @nichxbt's followers and tweets, then save them as separate sheets in an Excel file."
🔌 REST API
| Method | Path | Description |
|---|---|---|
POST |
/api/plugins/xactions-plugin-excel/export |
Export data to .xlsx |
POST |
/api/plugins/xactions-plugin-excel/export-multi |
Multi-sheet export |
POST |
/api/plugins/xactions-plugin-excel/read |
Read .xlsx into JSON |
📖 API Reference
exportToExcel(data, options)
| Option | Type | Default | Description |
|---|---|---|---|
filepath |
string |
required | Output .xlsx path |
sheetName |
string |
'Data' |
Sheet/tab name |
columns |
string[] |
all keys | Explicit column order |
autoFilter |
boolean |
true |
Add auto-filter to headers |
autoWidth |
boolean |
true |
Auto-fit column widths |
styled |
boolean |
true |
Apply header + alternating row styling |
freezeHeader |
boolean |
true |
Freeze the header row |
Returns: { success, filepath, rowsWritten, columnsWritten, headers, fileSize }
exportMultiSheet(sheets, options)
| Option | Type | Default | Description |
|---|---|---|---|
sheets |
Object |
required | { "SheetName": data[], ... } |
filepath |
string |
required | Output .xlsx path |
styled |
boolean |
true |
Apply styling |
Returns: { success, filepath, sheets: [{ sheetName, rows, columns }], totalRows, fileSize }
readFromExcel(options)
| Option | Type | Default | Description |
|---|---|---|---|
filepath |
string |
required | Path to .xlsx file |
sheetName |
string |
first sheet | Sheet name to read |
Returns: Object[] — array of objects keyed by header row
⚡ Explore XActions
100% free and open-source. No API keys, no fees, no signup.
Browse All Documentation