goxlsx

package
v1.2.167 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 14, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

README

go xlxs

基于这个库封装
go get github.com/xuri/excelize/v2

  • 目前只支持写一个sheet

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	UTF8    = unicode.UTF8
	UTF8BOM = unicode.UTF8BOM
	GBK     = simplifiedchinese.GBK
	//UTF16 有很多种 参考 unicode包
	UTF16 = unicode.UTF16(unicode.LittleEndian, unicode.ExpectBOM)
)

常用文件编码 unicode.UTF8, unicode.UTF16(BigEndian, UseBOM), unicode.UTF16(BigEndian, IgnoreBOM), unicode.UTF16(LittleEndian, IgnoreBOM), 常用文件编码需要用

View Source
var (
	BOM_UTF8  = []byte{0xEF, 0xBB, 0xBF}
	BOM_UTF16 = []byte{0xFF, 0xFE}
)

常用文件编码写入bom头部

Functions

This section is empty.

Types

type CsvReader added in v1.2.131

type CsvReader struct {
	FilePath string
	Comma    rune //csv 列分割符
	// contains filtered or unexported fields
}

func NewCsvReader added in v1.2.125

func NewCsvReader(csvFile string, comma rune) (*CsvReader, error)

comma 默认传 ','

func (*CsvReader) Close added in v1.2.161

func (c *CsvReader) Close()

func (*CsvReader) ReadAll added in v1.2.131

func (c *CsvReader) ReadAll(encoding encoding.Encoding) ([][]string, error)

func (*CsvReader) ReadAllJson added in v1.2.131

func (c *CsvReader) ReadAllJson(encoding encoding.Encoding) ([]map[string]string, error)

第一行作为字段名称,后续行数据转换为json数据一次性返回所有数据

func (*CsvReader) ReadGBKAll added in v1.2.131

func (c *CsvReader) ReadGBKAll() ([][]string, error)

func (*CsvReader) ReadGBKLine added in v1.2.131

func (c *CsvReader) ReadGBKLine(lineDataFunc func(record []string) error) error

func (*CsvReader) ReadLine added in v1.2.131

func (c *CsvReader) ReadLine(encoding encoding.Encoding, lineDataFunc func(record []string) error) error

func (*CsvReader) ReadLineJson added in v1.2.131

func (c *CsvReader) ReadLineJson(encoding encoding.Encoding, lineDataFunc func(record map[string]string) error) error

第一行作为字段名称,后续行数据转换为json数据,一行回调一个json数据

func (*CsvReader) ReadTitles added in v1.2.161

func (c *CsvReader) ReadTitles(encoding encoding.Encoding) ([]string, error)

func (*CsvReader) ReadUTF16All added in v1.2.131

func (c *CsvReader) ReadUTF16All() ([][]string, error)

func (*CsvReader) ReadUTF16Line added in v1.2.131

func (c *CsvReader) ReadUTF16Line(lineDataFunc func(record []string) error) error

func (*CsvReader) ReadUTF8All added in v1.2.131

func (c *CsvReader) ReadUTF8All() ([][]string, error)

func (*CsvReader) ReadUTF8Line added in v1.2.131

func (c *CsvReader) ReadUTF8Line(lineDataFunc func(record []string) error) error

type CsvWriter added in v1.2.141

type CsvWriter struct {
	FilePath string
	Comma    rune //csv 列分割符

	encoding.Encoding
	// contains filtered or unexported fields
}

func NewCsvWriter added in v1.2.161

func NewCsvWriter(csvFile string, comma rune, encoding ...encoding.Encoding) (*CsvWriter, error)

func NewCsvWriterNoneFile added in v1.2.165

func NewCsvWriterNoneFile(comma rune) (*CsvWriter, error)

不需要创建本地文件, 只写入数据。如:网络IO

func (*CsvWriter) AppendData added in v1.2.161

func (x *CsvWriter) AppendData(data []string) *CsvWriter

func (*CsvWriter) AppendRows added in v1.2.161

func (x *CsvWriter) AppendRows(data [][]string) *CsvWriter

func (*CsvWriter) AppendToCSV added in v1.2.161

func (c *CsvWriter) AppendToCSV(data [][]string) error

AppendToCSV appends data to an existing CSV file

func (*CsvWriter) Close added in v1.2.161

func (c *CsvWriter) Close()

func (*CsvWriter) GetWriter added in v1.2.161

func (c *CsvWriter) GetWriter() (*csv.Writer, error)

func (*CsvWriter) Output added in v1.2.161

func (x *CsvWriter) Output(w io.Writer) (err error)

func (*CsvWriter) OutputForGin added in v1.2.161

func (x *CsvWriter) OutputForGin(ctx *gin.Context, filename string) (err error)

func (*CsvWriter) OutputResponseWriter added in v1.2.161

func (x *CsvWriter) OutputResponseWriter(w http.ResponseWriter, filename string) (err error)

func (*CsvWriter) SetTitles added in v1.2.161

func (c *CsvWriter) SetTitles(titles []string)

func (*CsvWriter) WriteData added in v1.2.161

func (c *CsvWriter) WriteData(records [][]string) error

一次性写入

func (*CsvWriter) WriteLine added in v1.2.161

func (c *CsvWriter) WriteLine(record []string) error
func TestCsvWriter(t *testing.T) {
	csvWriter, err := goxlsx.NewCsvWriter("test.csv", ',')
	if err != nil {
		golog.Error(err)
		return
	}
	// 准备要写入的记录
	records := [][]string{
		{"Alice", "30", "New York"},
		{"Bob", "25", "Los Angeles"},
		{"Charlie", "35", "Chicago"},
	}
	titles := []string{"Name", "Age", "City"}
	csvWriter.SetTitles(titles)
	defer csvWriter.Close()
	for _, record := range records {
		err = csvWriter.WriteLine(record)
		if err != nil {
			golog.Error(err)
		}
	}
}

逐行写入, 需要手动调用 c.Close()

type XlsxRead added in v1.2.122

type XlsxRead struct {
	FilePath string
}

需要扩展按行读取文件

func NewReader added in v1.2.125

func NewReader(xlsxFile string) (*XlsxRead, error)

func (*XlsxRead) Read added in v1.2.142

func (r *XlsxRead) Read(fn func(n int, row []string) error) error

func (*XlsxRead) ReadBySheet added in v1.2.142

func (r *XlsxRead) ReadBySheet(sheet string, fn func(n int, row []string) error) error

func (*XlsxRead) ReadFile added in v1.2.142

func (r *XlsxRead) ReadFile(file string, fn func(n int, row []string) error) error

type XlsxWrite added in v1.2.116

type XlsxWrite struct {
	encoding.Encoding
	// contains filtered or unexported fields
}

扩展需要append to file 功能

func NewWriter added in v1.2.125

func NewWriter(encoding ...encoding.Encoding) *XlsxWrite

func (*XlsxWrite) AppendData added in v1.2.116

func (x *XlsxWrite) AppendData(data []interface{}) *XlsxWrite

func (*XlsxWrite) AppendRows added in v1.2.116

func (x *XlsxWrite) AppendRows(data [][]interface{}) *XlsxWrite

func (*XlsxWrite) Output added in v1.2.116

func (x *XlsxWrite) Output(w io.Writer) (err error)

func (*XlsxWrite) OutputForGin added in v1.2.117

func (x *XlsxWrite) OutputForGin(ctx *gin.Context, filename string) (err error)

func (*XlsxWrite) OutputResponseWriter added in v1.2.161

func (x *XlsxWrite) OutputResponseWriter(w http.ResponseWriter, filename string) (err error)

func (*XlsxWrite) Save2File added in v1.2.116

func (x *XlsxWrite) Save2File(filename string) (err error)

func (*XlsxWrite) SetSheetName added in v1.2.116

func (x *XlsxWrite) SetSheetName(sheetName string) *XlsxWrite

func (*XlsxWrite) SetTitles added in v1.2.116

func (x *XlsxWrite) SetTitles(titles []string) *XlsxWrite

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL