office
极简、高效的 Go Office 文档处理库,符合 @go 设计哲学。支持将 Office 文档与 JSON/Markdown 等通用格式无缝转换,作为 AI 时代的数据桥梁。
特性
- 统一 API: 提供极简的
Open,Save,ToJSON,ToMarkdown等操作。 - 载体转换:
- Excel <-> JSON: 自动将表格映射为对象数组,支持双向转换。
- Docx/Pptx/PDF -> Markdown: 提取并转化为 AI 友好的 Markdown 格式。
- 纯 Go 实现: 无 CGo 依赖,极致的跨平台与部署性能。
- Excel 增强: 自动处理工作表对齐,支持动态列扩展。
快速开始
安装
go get apigo.cc/go/office
Excel <-> JSON (结构化数据载体)
// Excel 转 JSON
xls, _ := office.Open("data.xlsx")
jsonStr, _ := xls.ToJSON("Sheet1", "A1", "")
// JSON 转 Excel
newXls := office.New()
newXls.FromJSON("Sheet1", jsonStr, "A1", "")
newXls.Save("restored.xlsx")
Docx/Pptx/PDF -> Markdown (内容载体)
// Word 转 Markdown
doc, _ := office.OpenDocx("contract.docx")
md, _ := doc.ToMarkdown()
// PDF 转 Markdown
pdf, _ := office.OpenPDF("report.pdf")
md, _ := pdf.ToMarkdown()
API 参考
Excel (JSON 转换)
ToJSON(sheetName string, start, end string) (string, error)FromJSON(sheetName string, jsonStr string, start, end string) errorGetData(sheetName string, start, end string) ([]map[string]any, error)SetData(sheetName string, data []map[string]any, start, end string) error
Word/PPT/PDF (Markdown 提取)
ToMarkdown() (string, error): 将文档内容提取为 Markdown 格式字符串。Text() (string, error): 提取纯文本。
Description
Languages
Go
100%