golang 寫數據到excel文件


package main

import (
	"encoding/csv"
	"fmt"
	"math/rand"
	"os"
	"strconv"
	"time"
)

type person struct {
	JOB_NUMBER string
	NAME       string
	DEP_CODE   string
	DEP_NAME   string
	EMAIL      string
	IC_NUMBER  string
	EXTENSION  string
}

func CreateCaptcha() string {
	return fmt.Sprintf("%02v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(100))
}

func main() {
	f, err := os.Create("test.xls")
	if err != nil {
		panic(err)
	}
	defer f.Close()

	dep_code := []string{"A1000", "A1100", "A1110", "A1120", "A2000", "A2100", "A2110"}
	dep_name := []string{"人事", "財務", "總務", "勞安", "研發", "業務", "制造"}

	f.WriteString("\xEF\xBB\xBF") // 寫入UTF-8 BOM

	w := csv.NewWriter(f)
	w.Write([]string{"JOB_NUMBER", "NAME", "DEP_CODE", "DEP_NAME", "EMAIL", "IC_NUMBER", "EXTENSION"})

	for i := 1; i < 10000; i++ {
		var p person
		p.JOB_NUMBER = "1000" + strconv.Itoa(i)
		p.NAME = "test_" + strconv.Itoa(i)

		rand.Seed(time.Now().UnixNano())
		var dep_num int

		if i%3 == 0 {
			dep_num = 4
		} else {
			dep_num = rand.Intn(7)
		}
		p.DEP_CODE = dep_code[dep_num]
		p.DEP_NAME = dep_name[dep_num]
		p.EMAIL = p.NAME + "@test.com"

		p.IC_NUMBER = strconv.Itoa(i) + CreateCaptcha()
		p.EXTENSION = strconv.Itoa(i) + CreateCaptcha()

		w.Write([]string{p.JOB_NUMBER, p.NAME, p.DEP_CODE, p.DEP_NAME, p.EMAIL, p.IC_NUMBER, p.EXTENSION})
		w.Flush()

	}

}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM