问题起源

最近在写一个读取xlsx文件,并解析其中数据的项目,在所有的数据都就绪之后,却遇到了时间格式获取不正确的问题

时间格式

我查询到的结果

我的代码
func main() {f, err := excelize.OpenFile("./template.xlsx")if err != nil {log.Fatal(err)}rows := f.GetRows("Sheet1")for _, row := range rows {fmt.Println("row[1]: ", row[1])}
}

第一次尝试问题解决

通过查找官方issue,我得到了另一个结果,可以使用number_format方法,转化格式

由此,我得到了另一个结果,43831

我的代码
func main() {f, err := excelize.OpenFile("/Users/zheng/Desktop/template.xlsx")if err != nil {log.Fatal(err)}style, err := f.NewStyle(`{"number_format": 0}`)if err != nil {fmt.Println(err)}f.SetCellStyle("Sheet1", "B2", "B2", style)rows := f.GetRows("Sheet1")for _, row := range rows {fmt.Println("row[1]: ", row[1])}
}

第二次尝试解决问题

我发现,这个数字43831,是距离1990-00-01的天数,这就是所谓的excel时间,从而我得到了我想要的答案

我的代码
func excelDateToDate(excelDate string) time.Time {excelTime := time.Date(1899, time.December, 30, 0, 0, 0, 0, time.UTC)var days, _ = strconv.Atoi(excelDate)return excelTime.Add(time.Second * time.Duration(days*86400))
}
func main() {f, err := excelize.OpenFile("/Users/zheng/Desktop/template.xlsx")if err != nil {log.Fatal(err)}style, err := f.NewStyle(`{"number_format": 0}`)if err != nil {fmt.Println(err)}f.SetCellStyle("Sheet1", "B2", "B2", style)rows := f.GetRows("Sheet1")for _, row := range rows {fmt.Println("row[1]: ", row[1])}fmt.Println(excelDateToDate("43831"))
}

golang 读取excel(xlsx文件) 时间格式解析相关推荐

  1. java使用poi(XSSFWorkbook)读取excel(.xlsx)文件

    其中最主要的区别在于jxl不支持.xlsx,而poi支持.xlsx 这里介绍的使用poi方式(XSSFWorkbook),实际上poi提供了HSSFWorkbook和XSSFWorkbook两个实现类 ...

  2. python读取xlsx文件找不到_在python中打开并读取excel .xlsx文件

    我正在尝试使用python打开一个excel .xlsx文件,但我无法找到办法,我尝试使用pandas但是它想要使用一个名为NumPy的库我试图安装numpy但它仍然可以找不到. 我也尝试过使用xlr ...

  3. 使用POI读取EXCEL大文件时,在解析数据的过程中对数据完成处理转换

    一.基于eventusermodel的excel解析工具类 这一部分和网上大部分的差不多,变化在二和三 import java.io.IOException; import java.io.Input ...

  4. golang读取excel文件,及时间处理等注意事项

    golang读取excel文件(个人经验) v1,v2版本访问地址 **注:本篇使用的工具包为下列v2版本 github.com/xuri/excelize/v2 之前的 工具包为下列v1版本** g ...

  5. 基于Python读取Excel表格文件数据并转换为字典dict格式

      有时我们需要将一个Excel表格文件中的全部或一部分数据导入到Python并转换为字典格式,如何实现呢?   我们以如下所示的一个表格(.xlsx格式)作为简单的示例.其中,表格共有两列,第一列为 ...

  6. Python读取和操作Excel(.xlsx)文件

    Python读取和操作Excel(.xlsx)文件 使用openpyxl库来控制excel文件(即.xlsx为后缀的文件).这里介绍一下excel数据的结构. 打开excel文件后生成一个workbo ...

  7. javascript读取excel中的时间的格式问题

    把excel表格导入到Mysql数据库时,发现在使用js-xlsx读取excel中的时间时会读取成一串时间数字,这串数字是excel自有的时间戳,直接使用`new Date()`并不能获取时间对象. ...

  8. POI事件模式读取Excel 2003文件

    一.概述 1. Excel 2003文件(即后缀为xls)是二进制文件,存储结构为复合文档,POI读取xls文件有两种方式 用户模式(usermodel):一次性将xls文件读入到内存,创建dom结构 ...

  9. java读取excel大文件

    在读取excel大文件的时候就不能再使用poi包下面的Workbook类,会造成OOM等问题. 我们常见的excel分为xlsx格式和csv格式.分别实现一下. xlsx格式处理. 需要的pom依赖: ...

最新文章

  1. android 数据库索引,SQLite数据库提供警告自动索引(列)升级Android L后
  2. linux nexus状态,linux 启动 nexus
  3. offset client scroll
  4. matlab找出二维矩阵中最大值的位置或者最小值的位置
  5. 算符“.*”和“-*”,用于“成员指针”
  6. pytorch安装换源ubuntu_ubuntu 安装pytorch问题
  7. java的string访问某个元素_CSS伪类与伪元素总是傻傻分不清,这份总结够面试用了
  8. LeetCode 1456. 定长子串中元音的最大数目(滑动窗口)
  9. editview只输入英文_搜狗输入法Mac版更新:适配苹果M1处理器
  10. Ubuntu14.04开启wifi热点(亲测有效)
  11. 敏感词过滤的php代码,ThinkPHP敏感词汇过滤
  12. python 贪吃蛇
  13. 《Nature》 和 《 Science》 的区别是什么?
  14. 因特尔显卡自定义分辨率_为什么从最新的英特尔显卡控制面板中移除了自定义分辨率?...
  15. 用python自动制作ppt第二讲——插入文字的两种方法和追加文字
  16. Android版本名称、版本号、API level对应关系
  17. 自己对香港一卡通的总结
  18. PMBOK组织结构及特点-联络员、协调员
  19. 全渠道营销与多渠道营销:定义、比较、示例
  20. 开启虚拟机的时候出现不支持虚拟化的Intel VT-x/EPT

热门文章

  1. 125KHz 100cm ID 读卡电路_兴育门禁读卡器,无感门禁,2.4G有源RFID读卡器
  2. kali linux连接wifi
  3. 找不到vcomp120.dll,无法继续执行代码
  4. 设置动画执行结束之后不移除
  5. 严格对角占优矩阵特征值_圆盘定理在严格对角占优矩阵中的应用
  6. vue 无感刷新页面
  7. 数字图像压缩基本理论
  8. 计算机基础(05)程序与程序设计语言
  9. 又拍云常见使用问题(如何给空间绑定域名)
  10. Ubantu或容器安装CV2