abacusai/abacusai-bot/xlsx
Claude Code and agent skill by abacusai/abacusai-bot
- community
Checking that the SKILL.md file is still in the repository.
Read, edit, analyse, and create .xlsx, .xlsm, and .csv spreadsheets: adding columns, writing formulas, formatting cells, building charts, and cleaning messy tabular data. Use whenever a spreadsheet is the input or the deliverable.
Install
npx vskill@latest install abacusai/abacusai-bot/xlsxSKILL.md
Working with spreadsheets
Write a CommonJS script (sheet.cjs) and run it with the app's own Node:
require("exceljs") works with nothing to install. It reads and writes values, formulas, styles, number formats, merged cells, column widths and data validation.
What survives a rewrite
exceljs does not carry charts, pivot tables, slicers or macros through a read-and-save. A workbook that has them comes back without them. If the user's file has any of these and they expect it back intact, say so before you change it. Then either write your results to a new sheet or file, or edit only the cells by changing the sheet XML in place with jszip.
For heavy analysis (joins, group-bys, statistics), Python with pandas in the shell is the better tool, when it is there. Write the result with exceljs if the deliverable needs formatting.
Look before you write
Never assume row 1 is the header. Real files have title rows, logos and blank spacers above the table:
Find the actual header row, then read the data from the row below it.
Writing
Formulas
exceljs writes formulas as text and does not evaluate them:
A file you wrote has no cached value until Excel opens it. If a later step needs the number, compute it in the script as well. Give the cell { formula, result } when you know the answer, so viewers that do not recalculate still show it.
Reading a formula cell gives { formula, result }. result is the value Excel last cached, which is missing on a file Excel has never opened.
Common pitfalls
- Rows and columns are 1-indexed (
ws.getCell(1, 1)isA1). Mixing in a
0-based loop index silently writes to the wrong place.
- Dates come back as
Dateobjects when the cell is formatted as a date,
and as plain numbers (Excel serials) when it is not. Check before you do arithmetic.
- Merged cells hold their value in the top-left cell only; the others read
as that same cell (cell.isMerged, cell.master).
writeFileon an existing path replaces the whole file. To add a sheet,
read the workbook, add to it, then write it back.
- Numbers stored as text are very common in exported data. A value that
is a string of digits is the tell; convert it before you sum.
- For
.csv, usewb.csv.readFile/wb.csv.writeFile, or plainfsfor a
simple file.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingapps/desktop/resources/skills/xlsx/SKILL.md
Popularity
- Repository stars
- 299
- Repository forks
- 43
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/abacusai/abacusai-bot/xlsx)