golang 文件导入数据追加sheet
func ReadXlsx(c []CmdbTest, SheetName string) error {
//打开文件,如果文件不存在创建,存在就打开
path := "./cmdb_test.xlsx"
b, err := PathExists(path)
if err != nil {
fmt.Sprintln(err)
}
if !b {
files := xlsx.NewFile()
//第一次创建文件时创建sheet
alert := []string{"项目名称", "测试接口名称", "测试参数", "测试条数", "总耗时", "评均耗时", "最大耗时", "最小耗时"}
sheet, _ := files.AddSheet(SheetName)
row := sheet.AddRow()
for _, a := range alert {
row.AddCell().SetString(a)
}
err := files.Save(path)
if err != nil {
fmt.Println("创建xlsx文件发生错误")
return err
}
}
file, err := xlsx.OpenFile(path)
if err != nil {
fmt.Println("打开xlsx文件发生异常")
return err
}
//判断结构体sheetName是否存在。
br, err := SheetExists(path, SheetName)
if err != nil {
fmt.Println(err)
return err
}
if !br {
//追加创建新sheet
alert := []string{"项目名称", "测试接口名称", "测试参数", "测试条数", "总耗时", "评均耗时", "最大耗时", "最小耗时"}
sheet, _ := file.AddSheet(SheetName)
row := sheet.AddRow()
for _, a := range alert {
row.AddCell().SetString(a)
}
err := file.Save(path)
if err != nil {
fmt.Println(err)
return err
}
}
//数据录入
first, _ := file.Sheet[SheetName]
for _, v := range c {
ls := []string{v.PMName, v.InterfaceName, v.Type, v.TestNumber, v.SumTime, v.MeanTime, v.MaxTime, v.MinTime}
row := first.AddRow()
for _, r := range ls {
cell := row.AddCell()
cell.Value = r
err = file.Save(path)
if err != nil {
fmt.Println("写入信息发生异常,文件正在使用")
return err
}
}
}
return nil
}
golang 文件导入数据追加sheet的更多相关文章
- 用SQLSERVER里的bcp命令或者bulkinsert命令也可以把dat文件导入数据表
用SQLSERVER里的bcp命令或者bulkinsert命令也可以把dat文件导入数据表 下面的内容的实验环境我是在SQLSERVER2005上面做的 之前在园子里看到两篇文章<C# 读取纯真 ...
- Selenium(九)测试用例数据分离与从文件导入数据
一.测试用例数据与代码分离 1.从之前的脚本来看,我还是把数据写在了脚本中,这样脚本的通用性很差.全局的数据其实可以从数据库.文本文件.Excel中直接读取. 2.代码和用户数据分离: 3.数据设计- ...
- PHP Excel文件导入数据到数据库
1.php部分(本例thinkphp5.1): 下载PHPExcel了扩展http://phpexcel.codeplex.com/ <?phpnamespace app\admin\contr ...
- MySQL笔记(三)由txt文件导入数据
改编自学校实验,涉及一些字符集相关的问题. 索引 建库 导入数据 最终脚本 下载数据 点击这里 建库 create.sql DROP DATABASE IF EXISTS orderdb; CREAT ...
- 从Excel(CSV)文件导入数据到Oracle
步骤: 1.准备数据:在excel中构造出需要的数据2.将excel中的数据另存为文本文件(有制表符分隔的)3.将新保存到文本文件中的数据导入到pl*sql中在pl*sql中选择tools--text ...
- Linux下通过txt文件导入数据到MySQL数据库
1.修改配置文件 在 /etc/my.conf 中添加 local_infile=1 2.重启MySQL >service mysqld restart 3.登录数据库 登录时添加参数 --lo ...
- [django]l利用xlrd实现xls文件导入数据
代码: #coding:utf-8 import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "www.sett ...
- mysql通过sql文件导入数据时出现乱码的解决办法
首先在新建数据库时一定要注意生成原数据库相同的编码形式,如果已经生成可以用phpmyadmin等工具再整理一次,防止数据库编码和表的编码不统一造成乱码. 方法一: 通过增加参数 –default-ch ...
- WEKA从sqlite数据库文件导入数据
1.编写代码的方式 只需要在java工程中导入weka.jar和sqlite-jdbc-3.8.7.jar两个jar包, weka.jar可以在weka的安装路径下找到, sqlite-jdbc-3. ...
随机推荐
- 出现 HTTP 错误 500.19 错误代码 0x800700b7
这个内容出现主要问题是在IIS上,我们一般程序开发 iis中默认的路径只是http://localhost/,相当于环境变量中已定义好了,如果自己创建的项目直接将路径定义到这,就会替换图二中的路径,然 ...
- [JZOJ3521]道路覆盖--状压DP
题目链接 略略略 分析 首先一看到使得最低的高度最高就想到了二分,于是就转化成了一个是否可行的问题 发现这个\(k\)都很小,考虑使用状态压缩DP 但是我一开始发现似乎并不好设计状态...如果这个\( ...
- caffe笔记
1. 训练 cifar10 示例 ① cd caffe.1.0.0 ./data/cifar10/get_cifar10.sh #获取图片 ② ./examples/cifar10/cre ...
- debian上安装tmux
1.安装ncurses库 1.1.获取源码 wget https://invisible-island.net/datafiles/release/ncurses.tar.gz tar xvf ncu ...
- 【python】多进程、多线程、序列
一.多进程 1.子进程永远返回0,而父进程返回子进程的ID.这样做的理由是,一个父进程可以fork出很多子进程,所以,父进程要记下每个子进程的ID,而子进程只需要调用getppid()就可以拿到父进程 ...
- Window10下Python3.7的wordcloud库的安装与基本使用
1.进入Python官网→点击Pypl→搜索“wordcloud”.如下图所示: 2.使用cmd安装,具体操作如下: 使用 pip list 查看是否安装成功
- redis写入性能测试
import timeit import redis def clock(func): def clocked(*args, **kwargs): t0 = timeit.default_timer( ...
- windows 8/10 彻底删除脱机文件
先关闭脱机文件选项 控制面板 > 同步中心 > 管理脱机文件 > 查看脱机文件 > 点击 计算机 > ... > 脱机同步的文件夹右键,取消同步 可能需要重启 如果 ...
- 实验楼Python项目
整理几个实验楼小项目,有免费的也有会员的,会员的可以参考他们的实验报告. 直接去实验楼这个网站,粘贴上就能搜到. 免费专区: Kmeans聚类算法评估足球比赛 Python实现3D建模工具 K-近邻算 ...
- 牛客练习赛52 | C | [烹饪] (DP,裴蜀定理,gcd)
牛客练习赛52 C 烹饪 链接:https://ac.nowcoder.com/acm/contest/1084/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 327 ...