// 打开excel文件
excelize.OpenReader(excelFile)
// 初始化一个空excel
excelize.NewFile()
// 获取excel的sheet名称
excelObj.GetSheetList()


// excel文件对象类型
excelObj *excelize.File
// 新建一个sheet
excelObj.NewSheet(sheet)
// 删除一个sheet
excelObj.DeleteSheet(sheet)
// 获取某个sheet的行
rows, err := excelObj.GetRows(sheet)
// 遍历所有单元格,将一个excel内容,copy到另外一个excel文件里(是不是有更加简单的方式,直接将sheet添加过去)
for iR, row := range rows {
    for iC, cell := range row {
        // 行列坐标,例如A1,A2....
        axis, err := excelize.CoordinatesToCellName(iC+1, iR+1)
        // 单元格类型,excelize.CellTypeUnset类型,不懂要不是做些特殊处理
        cellType, err := fromFile.GetCellType(sheet, axis)
        // 坐标设置值
        err = toFile.SetCellValue(sheet, axis, cell)

        // 列的数字转名称,例如1是A,2是B
        colName, err := excelize.ColumnNumberToName(iC + 1)
        // 获取excel文件对应sheet的,对于列的列宽度
        width, err := fromFile.GetColWidth(sheet, colName)
        // 设置列的宽度为模板的宽度
        _ = toFile.SetColWidth(sheet, colName, colName, width)
    }

    // 设置行的高度
    height, err := fromFile.GetRowHeight(sheet, iR+1)
    _ = toFile.SetRowHeight(sheet, iR+1, height)
}
最后修改:2023 年 12 月 30 日
如果觉得我的文章对你有用,请随意赞赏