excelize_test.go 2.1 KB
Newer Older
xurime's avatar
xurime 已提交
1 2 3
package excelize

import (
xurime's avatar
xurime 已提交
4
	"strconv"
xurime's avatar
xurime 已提交
5 6 7 8
	"testing"
)

func TestExcelize(t *testing.T) {
xurime's avatar
xurime 已提交
9 10
	// Test update a XLSX file.
	f1, err := OpenFile("./test/Workbook1.xlsx")
11 12 13
	if err != nil {
		t.Log(err)
	}
xurime's avatar
xurime 已提交
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
	f1.UpdateLinkedValue()
	f1.SetCellInt("SHEET2", "A1", 100)
	f1.SetCellStr("SHEET2", "C11", "Knowns")
	f1.NewSheet(3, "TestSheet")
	f1.SetCellInt("Sheet3", "A23", 10)
	f1.SetCellStr("SHEET3", "b230", "10")
	f1.SetCellStr("SHEET10", "b230", "10")
	f1.SetActiveSheet(2)
	// Test read cell value with given illegal rows number.
	f1.GetCellValue("Sheet2", "a-1")
	// Test read cell value with given lowercase column number.
	f1.GetCellValue("Sheet2", "a5")
	f1.GetCellValue("Sheet2", "C11")
	f1.GetCellValue("Sheet2", "D11")
	f1.GetCellValue("Sheet2", "D12")
	// Test SetCellValue function.
	f1.SetCellValue("Sheet2", "F1", "Hello")
	f1.SetCellValue("Sheet2", "G1", []byte("World"))
	f1.SetCellValue("Sheet2", "F2", 42)
	f1.SetCellValue("Sheet2", "G2", nil)
xurime's avatar
xurime 已提交
34 35
	// Test completion column.
	f1.SetCellValue("Sheet2", "M2", nil)
xurime's avatar
xurime 已提交
36 37
	// Test read cell value with given axis large than exists row.
	f1.GetCellValue("Sheet2", "E13")
38

39
	for i := 1; i <= 300; i++ {
xurime's avatar
xurime 已提交
40
		f1.SetCellStr("SHEET3", "c"+strconv.Itoa(i), strconv.Itoa(i))
xurime's avatar
xurime 已提交
41
	}
xurime's avatar
xurime 已提交
42
	err = f1.Save()
xurime's avatar
xurime 已提交
43
	if err != nil {
44
		t.Log(err)
xurime's avatar
xurime 已提交
45
	}
xurime's avatar
xurime 已提交
46 47
	// Test write file to given path.
	err = f1.WriteTo("./test/Workbook_2.xlsx")
48 49 50
	if err != nil {
		t.Log(err)
	}
xurime's avatar
xurime 已提交
51 52
	// Test write file to not exist directory.
	err = f1.WriteTo("")
53 54 55
	if err != nil {
		t.Log(err)
	}
xurime's avatar
xurime 已提交
56

xurime's avatar
xurime 已提交
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
	// Test write file with broken file struct.
	f2 := File{}
	err = f2.Save()
	if err != nil {
		t.Log(err)
	}
	// Test write file with broken file struct with given path.
	err = f2.WriteTo("./test/Workbook_3.xlsx")
	if err != nil {
		t.Log(err)
	}

	// Test create a XLSX file.
	f3 := CreateFile()
	f3.NewSheet(2, "XLSXSheet2")
	f3.NewSheet(3, "XLSXSheet3")
	f3.SetCellInt("Sheet2", "A23", 56)
	f3.SetCellStr("SHEET1", "B20", "42")
	f3.SetActiveSheet(0)
	err = f3.WriteTo("./test/Workbook_3.xlsx")
xurime's avatar
xurime 已提交
77
	if err != nil {
78
		t.Log(err)
xurime's avatar
xurime 已提交
79
	}
xurime's avatar
xurime 已提交
80

xurime's avatar
xurime 已提交
81
	// Test open a XLSX file with given illegal path.
82 83 84 85
	_, err = OpenFile("./test/Workbook.xlsx")
	if err != nil {
		t.Log(err)
	}
xurime's avatar
xurime 已提交
86
}