[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EXXVEBA5WKCBJRYKCKC6BQ":3,"skill-same:01M6EXXVEBA5WKCBJRYKCKC6BQ":79},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":26,"publishedAt":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":55,"ownerHtmlUrl":56,"ownerBlogUrl":6,"ownerDescription":57,"updatedAt":58,"install":59,"resources":72},"01M6EXXVEBA5WKCBJRYKCKC6BQ","calc",null,"Spreadsheet creation, format conversion (ODS\u002FXLSX\u002FCSV), formulas, data automation with LibreOffice Calc.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Fcalc\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000004","电子表格","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[5,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"xlsx","personal","safe","automation","csv","office","productivity","data","spreadsheet","format","conversion","creation","processing","with","libreoffice calc","2026-11-10 10:12:30",false,"---\nname: calc\ndescription: \"Spreadsheet creation, format conversion (ODS\u002FXLSX\u002FCSV), formulas, data automation with LibreOffice Calc.\"\nsource: personal\nrisk: safe\ndomain: office-productivity\ncategory: spreadsheet-processing\nversion: 1.0.0\n---\n\n# LibreOffice Calc\n\n## Overview\n\nLibreOffice Calc skill for creating, editing, converting, and automating spreadsheet workflows using the native ODS (OpenDocument Spreadsheet) format.\n\n## When to Use This Skill\n\nUse this skill when:\n- Creating new spreadsheets in ODS format\n- Converting between ODS, XLSX, CSV, PDF formats\n- Automating data processing and analysis\n- Creating formulas, charts, and pivot tables\n- Batch processing spreadsheet operations\n\n## Core Capabilities\n\n### 1. Spreadsheet Creation\n- Create new ODS spreadsheets from scratch\n- Generate spreadsheets from templates\n- Create data entry forms\n- Build dashboards and reports\n\n### 2. Format Conversion\n- ODS to other formats: XLSX, CSV, PDF, HTML\n- Other formats to ODS: XLSX, XLS, CSV, DBF\n- Batch conversion of multiple files\n\n### 3. Data Automation\n- Formula automation and calculations\n- Data import from CSV, database, APIs\n- Data export to various formats\n- Batch data processing\n\n### 4. Data Analysis\n- Pivot tables and data summarization\n- Statistical functions and analysis\n- Data validation and filtering\n- Conditional formatting\n\n### 5. Integration\n- Command-line automation via soffice\n- Python scripting with UNO\n- Database connectivity\n\n## Workflows\n\n### Creating a New Spreadsheet\n\n#### Method 1: Command-Line\n```bash\nsoffice --calc template.ods\n```\n\n#### Method 2: Python with UNO\n```python\nimport uno\n\ndef create_spreadsheet():\n    local_ctx = uno.getComponentContext()\n    resolver = local_ctx.ServiceManager.createInstanceWithContext(\n        \"com.sun.star.bridge.UnoUrlResolver\", local_ctx\n    )\n    ctx = resolver.resolve(\n        \"uno:socket,host=localhost,port=8100;urp;StarOffice.ComponentContext\"\n    )\n    smgr = ctx.ServiceManager\n    doc = smgr.createInstanceWithContext(\"com.sun.star.sheet.SpreadsheetDocument\", ctx)\n    sheets = doc.getSheets()\n    sheet = sheets.getByIndex(0)\n    cell = sheet.getCellByPosition(0, 0)\n    cell.setString(\"Hello from LibreOffice Calc!\")\n    doc.storeToURL(\"file:\u002F\u002F\u002Fpath\u002Fto\u002Fspreadsheet.ods\", ())\n    doc.close(True)\n```\n\n#### Method 3: Using ezodf\n```python\nimport ezodf\n\ndoc = ezodf.newdoc('ods', 'spreadsheet.ods')\nsheet = doc.sheets[0]\nsheet['A1'].set_value('Hello')\nsheet['B1'].set_value('World')\ndoc.save()\n```\n\n### Converting Spreadsheets\n\n```bash\n# ODS to XLSX\nsoffice --headless --convert-to xlsx spreadsheet.ods\n\n# ODS to CSV\nsoffice --headless --convert-to csv spreadsheet.ods\n\n# ODS to PDF\nsoffice --headless --convert-to pdf spreadsheet.ods\n\n# XLSX to ODS\nsoffice --headless --convert-to ods spreadsheet.xlsx\n\n# Batch convert\nfor file in *.ods; do\n    soffice --headless --convert-to xlsx \"$file\"\ndone\n```\n\n### Formula Automation\n```python\nimport uno\n\ndef create_formula_spreadsheet():\n    local_ctx = uno.getComponentContext()\n    resolver = local_ctx.ServiceManager.createInstanceWithContext(\n        \"com.sun.star.bridge.UnoUrlResolver\", local_ctx\n    )\n    ctx = resolver.resolve(\n        \"uno:socket,host=localhost,port=8100;urp;StarOffice.ComponentContext\"\n    )\n    smgr = ctx.ServiceManager\n    doc = smgr.createInstanceWithContext(\"com.sun.star.sheet.SpreadsheetDocument\", ctx)\n    sheet = doc.getSheets().getByIndex(0)\n    \n    sheet.getCellByPosition(0, 0).setDoubleValue(100)\n    sheet.getCellByPosition(0, 1).setDoubleValue(200)\n    \n    cell = sheet.getCellByPosition(0, 2)\n    cell.setFormula(\"SUM(A1:A2)\")\n    \n    doc.storeToURL(\"file:\u002F\u002F\u002Fpath\u002Fto\u002Fformulas.ods\", ())\n    doc.close(True)\n```\n\n## Format Conversion Reference\n\n### Supported Input Formats\n- ODS (native), XLSX, XLS, CSV, DBF, HTML\n\n### Supported Output Formats\n- ODS, XLSX, XLS, CSV, PDF, HTML\n\n## Command-Line Reference\n\n```bash\nsoffice --headless\nsoffice --headless --convert-to \u003Cformat> \u003Cfile>\nsoffice --calc  # Calc\n```\n\n## Python Libraries\n\n```bash\npip install ezodf     # ODS handling\npip install odfpy     # ODF manipulation\npip install pandas    # Data analysis\n```\n\n## Best Practices\n\n1. Use named ranges for clarity\n2. Document complex formulas\n3. Use data validation for input control\n4. Create templates for recurring reports\n5. Store ODS source files in version control\n6. Test conversions thoroughly\n7. Use CSV for data exchange\n8. Handle conversion failures gracefully\n\n## Troubleshooting\n\n### Cannot open socket\n```bash\nkillall soffice.bin\nsoffice --headless --accept=\"socket,host=localhost,port=8100;urp;\"\n```\n\n## Resources\n\n- [LibreOffice Calc Guide](https:\u002F\u002Fdocumentation.libreoffice.org\u002F)\n- [UNO API Reference](https:\u002F\u002Fapi.libreoffice.org\u002F)\n- [ezodf Documentation](http:\u002F\u002Fezodf.rst2.org\u002F)\n\n## Related Skills\n\n- writer\n- impress\n- draw\n- base\n- xlsx-official\n- workflow-automation\n","# LibreOffice Calc\n\n## Overview\n\nLibreOffice Calc skill for creating, editing, converting, and automating spreadsheet workflows using the native ODS (OpenDocument Spreadsheet) format.\n\n## When to Use This Skill\n\nUse this skill when:\n- Creating new spreadsheets in ODS format\n- Converting between ODS, XLSX, CSV, PDF formats\n- Automating data processing and analysis\n- Creating formulas, charts, and pivot tables\n- Batch processing spreadsheet operations\n\n## Core Capabilities\n\n### 1. Spreadsheet Creation\n- Create new ODS spreadsheets from scratch\n- Generate spreadsheets from templates\n- Create data entry forms\n- Build dashboards and reports\n\n### 2. Format Conversion\n- ODS to other formats: XLSX, CSV, PDF, HTML\n- Other formats to ODS: XLSX, XLS, CSV, DBF\n- Batch conversion of multiple files\n\n### 3. Data Automation\n- Formula automation and calculations\n- Data import from CSV, database, APIs\n- Data export to various formats\n- Batch data processing\n\n### 4. Data Analysis\n- Pivot tables and data summarization\n- Statistical functions and analysis\n- Data validation and filtering\n- Conditional formatting\n\n### 5. Integration\n- Command-line automation via soffice\n- Python scripting with UNO\n- Database connectivity\n\n## Workflows\n\n### Creating a New Spreadsheet\n\n#### Method 1: Command-Line\n```bash\nsoffice --calc template.ods\n```\n\n#### Method 2: Python with UNO\n```python\nimport uno\n\ndef create_spreadsheet():\n    local_ctx = uno.getComponentContext()\n    resolver = local_ctx.ServiceManager.createInstanceWithContext(\n        \"com.sun.star.bridge.UnoUrlResolver\", local_ctx\n    )\n    ctx = resolver.resolve(\n        \"uno:socket,host=localhost,port=8100;urp;StarOffice.ComponentContext\"\n    )\n    smgr = ctx.ServiceManager\n    doc = smgr.createInstanceWithContext(\"com.sun.star.sheet.SpreadsheetDocument\", ctx)\n    sheets = doc.getSheets()\n    sheet = sheets.getByIndex(0)\n    cell = sheet.getCellByPosition(0, 0)\n    cell.setString(\"Hello from LibreOffice Calc!\")\n    doc.storeToURL(\"file:\u002F\u002F\u002Fpath\u002Fto\u002Fspreadsheet.ods\", ())\n    doc.close(True)\n```\n\n#### Method 3: Using ezodf\n```python\nimport ezodf\n\ndoc = ezodf.newdoc('ods', 'spreadsheet.ods')\nsheet = doc.sheets[0]\nsheet['A1'].set_value('Hello')\nsheet['B1'].set_value('World')\ndoc.save()\n```\n\n### Converting Spreadsheets\n\n```bash\n# ODS to XLSX\nsoffice --headless --convert-to xlsx spreadsheet.ods\n\n# ODS to CSV\nsoffice --headless --convert-to csv spreadsheet.ods\n\n# ODS to PDF\nsoffice --headless --convert-to pdf spreadsheet.ods\n\n# XLSX to ODS\nsoffice --headless --convert-to ods spreadsheet.xlsx\n\n# Batch convert\nfor file in *.ods; do\n    soffice --headless --convert-to xlsx \"$file\"\ndone\n```\n\n### Formula Automation\n```python\nimport uno\n\ndef create_formula_spreadsheet():\n    local_ctx = uno.getComponentContext()\n    resolver = local_ctx.ServiceManager.createInstanceWithContext(\n        \"com.sun.star.bridge.UnoUrlResolver\", local_ctx\n    )\n    ctx = resolver.resolve(\n        \"uno:socket,host=localhost,port=8100;urp;StarOffice.ComponentContext\"\n    )\n    smgr = ctx.ServiceManager\n    doc = smgr.createInstanceWithContext(\"com.sun.star.sheet.SpreadsheetDocument\", ctx)\n    sheet = doc.getSheets().getByIndex(0)\n    \n    sheet.getCellByPosition(0, 0).setDoubleValue(100)\n    sheet.getCellByPosition(0, 1).setDoubleValue(200)\n    \n    cell = sheet.getCellByPosition(0, 2)\n    cell.setFormula(\"SUM(A1:A2)\")\n    \n    doc.storeToURL(\"file:\u002F\u002F\u002Fpath\u002Fto\u002Fformulas.ods\", ())\n    doc.close(True)\n```\n\n## Format Conversion Reference\n\n### Supported Input Formats\n- ODS (native), XLSX, XLS, CSV, DBF, HTML\n\n### Supported Output Formats\n- ODS, XLSX, XLS, CSV, PDF, HTML\n\n## Command-Line Reference\n\n```bash\nsoffice --headless\nsoffice --headless --convert-to \u003Cformat> \u003Cfile>\nsoffice --calc  # Calc\n```\n\n## Python Libraries\n\n```bash\npip install ezodf     # ODS handling\npip install odfpy     # ODF manipulation\npip install pandas    # Data analysis\n```\n\n## Best Practices\n\n1. Use named ranges for clarity\n2. Document complex formulas\n3. Use data validation for input control\n4. Create templates for recurring reports\n5. Store ODS source files in version control\n6. Test conversions thoroughly\n7. Use CSV for data exchange\n8. Handle conversion failures gracefully\n\n## Troubleshooting\n\n### Cannot open socket\n```bash\nkillall soffice.bin\nsoffice --headless --accept=\"socket,host=localhost,port=8100;urp;\"\n```\n\n## Resources\n\n- [LibreOffice Calc Guide](https:\u002F\u002Fdocumentation.libreoffice.org\u002F)\n- [UNO API Reference](https:\u002F\u002Fapi.libreoffice.org\u002F)\n- [ezodf Documentation](http:\u002F\u002Fezodf.rst2.org\u002F)\n\n## Related Skills\n\n- writer\n- impress\n- draw\n- base\n- xlsx-official\n- workflow-automation\n",{"name":5,"risk":29,"domain":47,"source":28,"version":48,"category":49,"description":7},"office-productivity","1.0.0","spreadsheet-processing","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Fcalc",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill calc",{"tool":65,"command":66},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill calc",{"tool":68,"command":69},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill calc","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Fcalc\u002FSKILL.md",true,[73],{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"skill-report.json","REFERENCE","参考文档",13088,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Fcalc\u002Fskill-report.json",[80,90,100,109,115,122],{"skillNo":81,"name":82,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":86,"publishedAt":42},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[85],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[87,88,89],"model","model hierarchy","model hierarchy skill",{"skillNo":91,"name":92,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":96,"publishedAt":42},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[95],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[97,98,99],"MCP","zoom","zoom mcp",{"skillNo":101,"name":102,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":105,"publishedAt":42},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[106,107,108,98],"sdk","zoom apps sdk","apps",{"skillNo":110,"name":111,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":42},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[111],{"skillNo":116,"name":117,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":121,"publishedAt":42},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[120],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[117],{"skillNo":123,"name":124,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":42},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[124]]