Install
openclaw skills install excel-builderBuild .xlsx files with formulas, merged cells, data validation, conditional formatting, pivot tables, and charts. Use when creating Excel spreadsheets, financial tables, data entry forms, or any structured .xlsx deliverable requiring formulas or formatting.
openclaw skills install excel-builderBuilds structured .xlsx files programmatically using Python libraries (openpyxl or xlsxwriter).
openpyxl for reading/modifying existing files; use xlsxwriter for new write-only files with rich charts"#,##0.00", "YYYY-MM-DD")=SUM(B2:B100), =IF(A2>0, "Yes", "No")from openpyxl import Workbook, load_workbook
from openpyxl.styles import Font, PatternFill, Alignment
wb = Workbook()
ws = wb.active
ws.title = "Report"
ws["A1"] = "Revenue"
ws["A1"].font = Font(bold=True, size=12)
ws.column_dimensions["A"].width = 20
wb.save("output.xlsx")
import xlsxwriter
wb = xlsxwriter.Workbook("output.xlsx")
ws = wb.add_worksheet("Summary")
bold = wb.add_format({"bold": True, "bg_color": "#4472C4", "font_color": "white"})
ws.write("A1", "Month", bold)
chart = wb.add_chart({"type": "column"})
chart.add_series({"values": "=Summary!$B$2:$B$13", "name": "Revenue"})
ws.insert_chart("D2", chart)
wb.close()
openpyxl not installed: pip install openpyxlxlsxwriter not installed: pip install xlsxwriterwb.save() in try/except; report path conflictsos.path.getsize(path) > 0 before returningReturn the absolute path to the saved .xlsx file. If generating multiple sheets, list each sheet name and row count in a brief summary.