内容简介:前一段时间想要用golang读取xls文件里的数据,并写入到xlsx中,xls的读写国内网上的教程鲜有能参考的,因此将自己的处理的过程整理了下供需要的小伙伴们参考,由于是初学golang,水平有限,欢迎大家批评指正。test.xls里的数据最终result.xlsx里的数据
前一段时间想要用golang读取xls文件里的数据,并写入到xlsx中,xls的读写国内网上的教程鲜有能参考的,因此将自己的处理的过程整理了下供需要的小伙伴们参考,由于是初学golang,水平有限,欢迎大家批评指正。
test.xls里的数据
package main import ( "log" "os" "github.com/extrame/xls" "github.com/tealeg/xlsx" ) var xlsxTitle = []string{"字段1", "字段2", "字段3", "字段4"} var cell *xlsx.Cell func main() { pwd, _ := os.Getwd() targetPath := pwd + `\result.xlsx` xlsxFile := getXlsxFile(targetPath) xlsxSheet := xlsxFile.Sheets[0] dataToInsert := []string{"切片内数据1", "切片内数据2", "切片内数据3", "切片内数据4"} insertRow(xlsxSheet, &dataToInsert) xlsPath := pwd + `\test.xls` xlsFile, closer, err := xls.OpenWithCloser(xlsPath, "utf-8") if err != nil { log.Fatal(err) } // 获取xls文件的第一个sheet sheet := xlsFile.GetSheet(0) // 从第二行开始,遍历xls文件,然后按行调用insertRowFromXls函数 for j := 1; j < int(sheet.MaxRow)+1; j++ { xlsRow := sheet.Row(j) rowColCount := xlsRow.LastCol() insertRowFromXls(xlsxSheet, xlsRow, rowColCount) } closer.Close() xlsxFile.Save(targetPath) } // 将xls.Row指针对应的数据插入到xlsx.sheet中 func insertRowFromXls(sheet *xlsx.Sheet, rowDataPtr *xls.Row, rowColCount int) { row := sheet.AddRow() for i := 0; i < rowColCount; i++ { cell = row.AddCell() cell.Value = rowDataPtr.Col(i) } } // 将一个切片指针对应的数据插入到xlsx.sheet中 func insertRow(sheet *xlsx.Sheet, rowDataPtr *[]string) { row := sheet.AddRow() rowData := *rowDataPtr for _, v := range rowData { cell := row.AddCell() cell.Value = v } } // 获取xlsx.File对象的指针,如果文件路径不存在则新建一个文件,并返回其指针 func getXlsxFile(filePath string) *xlsx.File { var file *xlsx.File if _, err := os.Stat(filePath); err == nil { file, err = xlsx.OpenFile(filePath) if err != nil { log.Fatal(err) } } else { file = xlsx.NewFile() sheet, err := file.AddSheet("sheet1") if err != nil { log.Fatal(err) } insertRow(sheet, &xlsxTitle) } return file }
最终result.xlsx里的数据
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- golang 创建,读取,写入文件
- 第十五篇:SQL注入读取、写入文件
- go语言csv文件的读取与写入
- 使用vbscript代码从文本文件中读取和写入值
- 《从0到1学习Flink》—— Flink 读取 Kafka 数据批量写入到 MySQL
- R0Ak:一款针对Windows 10的内核模式代码读取、写入和执行的测试工具
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据结构与算法分析
(美)(C.A.谢弗)Clifford A.Shaffer / 电子工业出版社 / 1998-8 / 35.00元
本书综合“数据结构与算法”的知识梳理、习题解答及上机辅导等于一身;精心挑选了覆盖教学大纲的五百多道题目,并且提供所有题目的参考答案;对于较难的算法和上机题,给出了详细的分析和说明;对于学习的重点和难点、易犯的错误、题目的难易和重要性,以及国内教材的差异等都给出了必要的说明。 本书可给使用各种教材讲授和学习“数据结构与算法”(或者“数据结构”)的师生参考,是系统复习该课程和准备应考计算......一起来看看 《数据结构与算法分析》 这本书的介绍吧!