工作簿

    打开

    1. func OpenFile(filename string) (*File, error)

    使用 OpenFile 打开已有 Excel 文档。

    保存

    1. func (f *File) Save() error

    使用 Save 保存对 Excel 文档的编辑。

    1. func (f *File) SaveAs(name string) error

    使用 SaveAs 保存 Excel 文档为指定文件。

    新建工作表

    1. func (f *File) NewSheet(name string) int

    删除工作表

    根据给定的工作表名称删除指定工作表,谨慎使用此方法,这将会影响到与被删除工作表相关联的公式、引用、图表等元素。如果有其他组件引用了被删除工作表上的值,将会引发错误提示,甚至将会导致打开工作簿失败。当工作簿中仅包含一个工作表时,调用此方法无效。

    1. func (f *File) CopySheet(from, to int) error

    根据给定的被复制工作表与目标工作表索引复制工作表,目标工作表索引需要开发者自行确认是否已经存在。目前支持仅包含单元格值和公式的工作表间的复制,不支持包含表格、图片、图表和透视表等元素的工作表之间的复制。

    1. // 名称为 Sheet1 的工作表已经存在 ...
    2. index := xlsx.NewSheet("Sheet2")
    3. err := xlsx.CopySheet(1, index)
    4. return err

    设置工作表背景图片

    1. func (f *File) SetSheetBackground(sheet, picture string) error

    根据给定的工作表名称和图片地址为指定的工作表设置平铺效果的背景图片。

    设置默认工作表

    1. func (f *File) SetActiveSheet(index int)

    获取默认工作表的索引,如果没有找到默认工作表将返回 0

    获取工作表视图属性

    1. func (f *File) GetSheetViewOptions(name string, viewIndex int, opts ...SheetViewOptionPtr) error

    根据给定的工作表名称、视图索引获和视图参数取工作表视图属性,viewIndex 可以是负数,如果是这样,则向后计数(-1 代表最后一个视图)。

    • 例1,获取名为 Sheet1 的工作表上最后一个视图的网格线属性设置:
    1. var showGridLines excelize.ShowGridLines
    2. err = f.GetSheetViewOptions("Sheet1", -1, &showGridLines)
    • 例2:
    1. xl := excelize.NewFile()
    2. const sheet = "Sheet1"
    3. var (
    4. rightToLeft excelize.RightToLeft
    5. showFormulas excelize.ShowFormulas
    6. showGridLines excelize.ShowGridLines
    7. showRowColHeaders excelize.ShowRowColHeaders
    8. zoomScale excelize.ZoomScale
    9. topLeftCell excelize.TopLeftCell
    10. )
    11. if err := xl.GetSheetViewOptions(sheet, 0,
    12. &defaultGridColor,
    13. &rightToLeft,
    14. &showFormulas,
    15. &showGridLines,
    16. &showRowColHeaders,
    17. &zoomScale,
    18. &topLeftCell,
    19. ); err != nil {
    20. panic(err)
    21. }
    22. fmt.Println("Default:")
    23. fmt.Println("- defaultGridColor:", defaultGridColor)
    24. fmt.Println("- rightToLeft:", rightToLeft)
    25. fmt.Println("- showFormulas:", showFormulas)
    26. fmt.Println("- showGridLines:", showGridLines)
    27. fmt.Println("- showRowColHeaders:", showRowColHeaders)
    28. fmt.Println("- zoomScale:", zoomScale)
    29. if err := xl.SetSheetViewOptions(sheet, 0, excelize.TopLeftCell("B2")); err != nil {
    30. panic(err)
    31. }
    32. if err := xl.GetSheetViewOptions(sheet, 0, &topLeftCell); err != nil {
    33. panic(err)
    34. }
    35. if err := xl.SetSheetViewOptions(sheet, 0, excelize.ShowGridLines(false)); err != nil {
    36. panic(err)
    37. }
    38. if err := xl.GetSheetViewOptions(sheet, 0, &showGridLines); err != nil {
    39. panic(err)
    40. }
    41. fmt.Println("After change:")
    42. fmt.Println("- showGridLines:", showGridLines)
    43. fmt.Println("- topLeftCell:", topLeftCell)

    得到输出:

    1. Default:
    2. - defaultGridColor: true
    3. - rightToLeft: false
    4. - showFormulas: false
    5. - showGridLines: true
    6. - showRowColHeaders: true
    7. - zoomScale: 0
    8. - topLeftCell: ""
    9. After change:
    10. - topLeftCell: B2