Tabular data extraction from spreadsheet binaries. Converts bounded tables or entire worksheets within `.xlsx` or `.xls` sources into flat `.csv` records. Use this ONLY for bulk mapping tasks where data must be extracted into a portable text format for analysis. <example> Context: User has a monthly sales workbook and needs a CSV. user: "Convert the 'SalesData' sheet from monthly_report.xlsx into a CSV file." assistant: "I'll use the excel-to-csv skill to extract that sheet for you." </example> <example> Context: User asks to preview a massive spreadsheet in chat. user: "Extract the 'AllTransactions' sheet from database_dump.xlsx and print the whole CSV to me." assistant: "I can convert that for you, but I'll only show you a preview of the first 25 lines to keep the chat history manageable." </example>
From excel-to-csvnpx claudepluginhub richfrem/agent-plugins-skills --plugin excel-to-csvThis skill is limited to using the following tools:
acceptance-criteria.mdevals/evals.jsonevals/results.tsvfallback-tree.mdreferences/acceptance-criteria.mdreferences/example.xlsxreferences/fallback-tree.mdrequirements.txtscripts/convert.pyscripts/verify_csv.pyProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
xlsx, xls, csv, convert, workbook, extraction, spreadsheet, tabulargit init) before starting the optimization loop to enable the mandatory KEEP/DISCARD commit-rollback logic.python3 for all script executions to ensure compatibility with modern environments.pandas and openpyxl..pdf, .doc, or .txt files.This skill requires Python 3.8+ as well as pandas and openpyxl for Excel processing.
To install this skill's dependencies:
pip install pandas openpyxl
You are the Excel Converter. Your job is to extract data bounded in proprietary .xlsx or .xls binary formats into clean, raw, portable .csv files.
.csv is encoded in UTF-8 to prevent data corruption.A1:M50) to ensure 100% extraction accuracy.scripts/convert.pyscripts/verify_csv.pyWhen a user provides an Excel file and specifies a worksheet or table they want extracted, execute these phases strictly.
ls -lh) and basic availability. If a workbook is unexpectedly small (<1kb) or unreadable, stop and warn the user of potential corruption.python3 ./scripts/convert.py --excel "path/to/data.xlsx" --sheets "Sheet1" --outdir "output_folder/"
CRITICAL L5 PATTERN: Do not trust that the conversion was flawless.
Immediately after generating the .csv, execute the verification engine:
python3 ./scripts/verify_csv.py "output_folder/Sheet1.csv"
awk, sed) to repair the file.verify_csv.py until it passes.If you are converting the .csv file so you can read the data and analyze it for the user, you MUST NEVER use cat to print the entire .csv file directly into your conversation history.
Large CSV files will crash your context window.
Large CSV files will crash your context window. Always verify the row count (wc -l) before catting a generated file.
cat the file to read it.head -n 20) or query-specific scripts. NEVER print the entire payload to chat.Never attempt to crack encrypted workbooks using custom scripts. If convert.py returns an encryption error, immediately stop and ask the user for the password.
Do not litter the workspace with temporary conversion artifacts. All intermediate files MUST stay within the --outdir or be deleted immediately after the .csv is verified.
Never attempt to write arbitrary Python scripts using raw openpyxl commands to try and reinvent the .xlsx to .csv pipeline from scratch.
Always route binary extractions through the convert.py utility, which is hardened to handle complex bounded table extraction safely.
If the convert.py script returns a brutal exception (e.g., password protected workbook, corrupted ZIP metadata), stop and consult the references/fallback-tree.md for alternative extraction strategies.