golang数据写入.csv文件和.excel文件
-
package main
-
-
import (
-
"fmt"
-
"os"
-
"strconv"
-
"strings"
-
"sync"
-
"time"
-
-
"github.com/xuri/excelize/v2"
-
)
-
-
var wg sync.WaitGroup
-
-
func main() {
-
wg.Add(2)
-
go writeToCsv()
-
go writeToExcelDirectly()
-
wg.Wait()
-
}
-
-
func writeToCsv() {
-
//数据写入到csv文件
-
t1 := time.Now().UnixNano()
-
//首行
-
var titles string
-
titles = "姓名,年龄,爱好\n"
-
-
var stringBuilder strings.Builder
-
stringBuilder.WriteString(titles)
-
-
var i int
-
for i = 0; i < 1000000; i {
-
dataString := fmt.Sprintf("张三%d,%d,蹦极%d\n", i 1, i 1, i 1)
-
stringBuilder.WriteString(dataString)
-
}
-
filename := "./test.csv"
-
file, _ := os.OpenFile(filename, os.O_RDWR|os.O_CREATE, os.ModeAppend|os.ModePerm)
-
dataString := stringBuilder.String()
-
file.WriteString(dataString)
-
file.Close()
-
-
t2 := time.Now().UnixNano()
-
t := t2 - t1
-
fmt.Printf("writeToCsv总共%d条数据,总耗时%d毫秒\n", i, t/1000000)
-
wg.Done()
-
}
-
-
func writeToExcelDirectly() {
-
//数据写入到excel文件
-
t1 := time.Now().UnixNano()
-
-
f := excelize.NewFile()
-
defer f.Close()
-
-
// 创建一个工作表
-
index := f.NewSheet("Sheet1")
-
-
// 设置单元格的值
-
f.SetCellValue("Sheet1", "A1", "姓名")
-
f.SetCellValue("Sheet1", "B1", "年龄")
-
f.SetCellValue("Sheet1", "C1", "爱好")
-
var indexA, indexB, indexC string
-
var i int
-
for i = 0; i < 10000; i {
-
indexA = fmt.Sprintf("A%v", i 2)
-
indexB = fmt.Sprintf("B%v", i 2)
-
indexC = fmt.Sprintf("C%v", i 2)
-
f.SetCellValue("Sheet1", indexA, "张三" strconv.Itoa(i))
-
f.SetCellValue("Sheet1", indexB, i)
-
f.SetCellValue("Sheet1", indexC, "游泳" strconv.Itoa(i))
-
}
-
-
// 设置工作簿的默认工作表
-
f.SetActiveSheet(index)
-
-
// 根据指定路径保存文件
-
name := "test.xlsx"
-
if err := f.SaveAs(name); err != nil {
-
panic(err)
-
}
-
-
t2 := time.Now().UnixNano()
-
t := t2 - t1
-
fmt.Printf("writeToExcelDirectly总共%d条数据,总耗时%d毫秒\n", i, t/1000000)
-
wg.Done()
-
}
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfafbk
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01