Skip to content

Unmerge all cells cause corrupted file #782

@blueicesir

Description

@blueicesir

使用版本
github.com/360EntSecGroup-Skylar/excelize/v2 v2.3.2

Go 1.15 编译环境 windows 64bit

package main

import (
	"fmt"
	"strings"
	"github.com/360EntSecGroup-Skylar/excelize/v2"
)


func main(){
	f,err:=excelize.OpenFile(`org.xlsx`)
	if err!=nil {
		fmt.Println(err)
		return
	}
	for i,sheet_name:= range f.GetSheetMap() {
		fmt.Println(i,sheet_name)
		merge_cells,err:=f.GetMergeCells(sheet_name)
		if err!=nil {
			fmt.Println(err)
			return
		}

		for i:=range merge_cells {
			axis_x:=strings.Split(merge_cells[i][0],":")[0]
			axis_y:=strings.Split(merge_cells[i][0],":")[1]
			fmt.Printf("index=%d\tref=%s\tval=%s\t\tUnmergeCell(\"%s\",\"%s\",\"%s\")\t",i,merge_cells[i][0],merge_cells[i][1],sheet_name,axis_x,axis_y)
			err=f.UnmergeCell(sheet_name,axis_x,axis_y)
			if err!=nil {
				fmt.Printf("UnmergeCell fail,%v\n",err)
				return
			}else{
				fmt.Printf("OK\n")
			}
		}
	}

	err=f.SaveAs("test.xlsx")
	if err!=nil{
		fmt.Printf("SaveAs fail,%v\n",err)
		return
	}
}

待拆分合并单元格的xlsx文件。
image

org.xlsx

输出的test.xlsx文件用Excel 2013打开提示 “发现test.xlsx中的部分内容有问题”,经过测试如果保留一个合并的单元格不进行拆分,打开的文件正常。

烦请有空核查处理。

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions