首先,需要安装golang用来操作excel文档的类库:

go get github.com/Luxurioust/excelize

一、excel文件创建与写入

  1. package main
  2.  
  3. import (
  4. "log"
  5.  
  6. "github.com/Luxurioust/excelize"
  7. )
  8.  
  9. func main() {
  10. //创建excel文件
  11. xlsx := excelize.NewFile()
  12.  
  13. //创建新表单
  14. index := xlsx.NewSheet("成绩表")
  15.  
  16. //写入数据
  17. data := map[string]string{
  18. //学科
  19. "B1": "语文",
  20. "C1": "数学",
  21. "D1": "英语",
  22. "E1": "理综",
  23.  
  24. //姓名
  25. "A2": "啊俊",
  26. "A3": "小杰",
  27. "A4": "老王",
  28.  
  29. //啊俊成绩
  30. "B2": "112",
  31. "C2": "115",
  32. "D2": "128",
  33. "E2": "255",
  34.  
  35. //小杰成绩
  36. "B3": "100",
  37. "C3": "90",
  38. "D3": "110",
  39. "E3": "200",
  40.  
  41. //老王成绩
  42. "B4": "70",
  43. "C4": "140",
  44. "D4": "60",
  45. "E4": "265",
  46. }
  47. for k, v := range data {
  48. //设置单元格的值
  49. xlsx.SetCellValue("成绩表", k, v)
  50. }
  51.  
  52. //设置默认打开的表单
  53. xlsx.SetActiveSheet(index)
  54.  
  55. //保存文件到指定路径
  56. err := xlsx.SaveAs("./成绩表.xlsx")
  57. if err != nil {
  58. log.Fatal(err)
  59. }
  60. }

效果图:

二、excel文件读取

  1. package main
  2.  
  3. import (
  4. "fmt"
  5. "log"
  6.  
  7. "github.com/Luxurioust/excelize"
  8. )
  9.  
  10. func main() {
  11. f, err := excelize.OpenFile("./成绩表.xlsx")
  12. if err != nil {
  13. log.Fatal(err)
  14. }
  15.  
  16. /*
  17. //读取某个单元格的值
  18. value, err := f.GetCellValue("成绩表", "D2")
  19. if err != nil {
  20. log.Fatal(err)
  21. }
  22. fmt.Println(value)
  23. */
  24.  
  25. //读取某个表单的所有数据
  26. rows, err := f.GetRows("成绩表")
  27. if err != nil {
  28. log.Fatal(err)
  29. }
  30. for _, row := range rows {
  31. for _, value := range row {
  32. fmt.Printf("\t%s", value)
  33. }
  34. fmt.Println()
  35. }
  36. }

  

效果图:

go读写excel文件的更多相关文章

  1. MFC vs2012 Office2013 读写excel文件

    近期在忙一个小项目(和同学一起搞的),在这里客户要求不但读写txt,而且可以读写excel文件,这里本以为很简单,结果...废话少说,过程如下: 笔者环境:win7 64+VS2012+Office2 ...

  2. 用Python读写Excel文件(转)

    原文:google.com/ncr 虽然天天跟数据打交道,也频繁地使用Excel进行一些简单的数据处理和展示,但长期以来总是小心地避免用Python直接读写Excel文件.通常我都是把数据保存为以TA ...

  3. C# 使用 NPOI 库读写 Excel 文件

    NPOI 是开源的 POI 项目的.NET版,可以用来读写Excel,Word,PPT文件.在处理Excel文件上,NPOI 可以同时兼容 xls 和 xlsx.官网提供了一份 Examples,给出 ...

  4. [转]用Python读写Excel文件

    [转]用Python读写Excel文件   转自:http://www.gocalf.com/blog/python-read-write-excel.html#xlrd-xlwt 虽然天天跟数据打交 ...

  5. python使用xlrd模块读写Excel文件的方法

    本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...

  6. python读写Excel文件的函数--使用xlrd/xlwt

    python中读取Excel的模块或者说工具有很多,如以下几种: Packages 文档下载 说明 openpyxl Download | Documentation | Bitbucket  The ...

  7. C++读写EXCEL文件OLE,java读写excel文件POI 对比

    C++读写EXCEL文件方式比较 有些朋友问代码的问题,将OLE读写的代码分享在这个地方,大家请自己看.http://www.cnblogs.com/destim/p/5476915.html C++ ...

  8. Python使用openpyxl读写excel文件

    Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...

  9. 使用phpexcel类读写excel文件

    使用原生php读写excel文件的博文地址: 基于使用原生php读写excel文件的不靠谱,本文将简单介绍如何使用第三方类库phpexcel来读写excel文件. 首先,需要到githut下载phpe ...

  10. 用Python读写Excel文件的方式比较

    虽然天天跟数据打交道,也频繁地使用Excel进行一些简单的数据处理和展示,但长期以来总是小心地避免用Python直接读写Excel文件.通常我都是把数据保存为以TAB分割的文本文件(TSV),再在Ex ...

随机推荐

  1. 机器学习-决策树算法+代码实现(基于R语言)

    分类树(决策树)是一种十分常用的分类方法.核心任务是把数据分类到可能的对应类别. 他是一种监管学习,所谓监管学习就是给定一堆样本,每个样本都有一组属性和一个类别,这些类别是事先确定的,通过学习得到一个 ...

  2. jieba库的使用

    jieba库的使用 jeiba库是一款很优秀的用于中文分词的第三方库,它通过一个汉词词典来确定汉字之间的关联概率,将概率较大的组成分词. 精准模式 把文本精准的分割开来,不存在冗余单词. jieba. ...

  3. Codeforces Round #454 (Div. 1) CodeForces 906D Power Tower (欧拉降幂)

    题目链接:http://codeforces.com/contest/906/problem/D 题目大意:给定n个整数w[1],w[2],……,w[n],和一个数m,然后有q个询问,每个询问给出一个 ...

  4. 简单说下cookie,LocalStorage与SessionStorage.md

    最近在网上看到有人讨论这三个的一些概念与区别,发现自己也一直没有较好的总结,所以查阅了一些资料来阐述一下. 基本概念 cookie cookie英文意思是小甜饼,是原来的网景公司创造,目前是在客户端存 ...

  5. Sass--传一个不带值的参数

    Sass 的混合宏有一个强大的功能,可以传参,那么在 Sass 中传参主要有以下几种情形: A) 传一个不带值的参数 在混合宏中,可以传一个不带任何值的参数,比如: @mixin border-rad ...

  6. webRTC脱坑笔记(三)— webRTC API之RTCPeerConnection

    RTCPeerConnection API是每个浏览器之间点对点连接的核心,RTCPeerConnection是WebRTC组件,用于处理对等体之间流数据的稳定和有效通信. RTCPeerConnec ...

  7. 7天玩转 ASP.NET MVC

    在开始时请先设置firefox中about:config中browser.cache.check_doc_frequecy设置为1,这样才能在关闭浏览器时及时更新JS 第一.二天的内容与之前的重复,这 ...

  8. 【LeetCode 90】子集 II

    题目链接 [题解] 我们在枚举下一个要取哪个数字的时候. 如 1112233 for (int i = start;i<=n;i++) //其中start-1是上一次取的位置. 如果i>s ...

  9. Vue-Router原理

    Hash 与 History 路由原理 实现路由 /** * 1.前端路由与后端路由的区别 后端路由: 输入url => 请求发送到服务器 => 服务器解析请求路径 => 拿到对应页 ...

  10. C# DataTable转为ArrayList

    private static ArrayList DataTableToArrayList(DataTable data) { ArrayList array = new ArrayList(); f ...