golang 读取excel(xlsx文件) 时间格式解析
问题起源
最近在写一个读取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文件) 时间格式解析相关推荐
- java使用poi(XSSFWorkbook)读取excel(.xlsx)文件
其中最主要的区别在于jxl不支持.xlsx,而poi支持.xlsx 这里介绍的使用poi方式(XSSFWorkbook),实际上poi提供了HSSFWorkbook和XSSFWorkbook两个实现类 ...
- python读取xlsx文件找不到_在python中打开并读取excel .xlsx文件
我正在尝试使用python打开一个excel .xlsx文件,但我无法找到办法,我尝试使用pandas但是它想要使用一个名为NumPy的库我试图安装numpy但它仍然可以找不到. 我也尝试过使用xlr ...
- 使用POI读取EXCEL大文件时,在解析数据的过程中对数据完成处理转换
一.基于eventusermodel的excel解析工具类 这一部分和网上大部分的差不多,变化在二和三 import java.io.IOException; import java.io.Input ...
- golang读取excel文件,及时间处理等注意事项
golang读取excel文件(个人经验) v1,v2版本访问地址 **注:本篇使用的工具包为下列v2版本 github.com/xuri/excelize/v2 之前的 工具包为下列v1版本** g ...
- 基于Python读取Excel表格文件数据并转换为字典dict格式
有时我们需要将一个Excel表格文件中的全部或一部分数据导入到Python并转换为字典格式,如何实现呢? 我们以如下所示的一个表格(.xlsx格式)作为简单的示例.其中,表格共有两列,第一列为 ...
- Python读取和操作Excel(.xlsx)文件
Python读取和操作Excel(.xlsx)文件 使用openpyxl库来控制excel文件(即.xlsx为后缀的文件).这里介绍一下excel数据的结构. 打开excel文件后生成一个workbo ...
- javascript读取excel中的时间的格式问题
把excel表格导入到Mysql数据库时,发现在使用js-xlsx读取excel中的时间时会读取成一串时间数字,这串数字是excel自有的时间戳,直接使用`new Date()`并不能获取时间对象. ...
- POI事件模式读取Excel 2003文件
一.概述 1. Excel 2003文件(即后缀为xls)是二进制文件,存储结构为复合文档,POI读取xls文件有两种方式 用户模式(usermodel):一次性将xls文件读入到内存,创建dom结构 ...
- java读取excel大文件
在读取excel大文件的时候就不能再使用poi包下面的Workbook类,会造成OOM等问题. 我们常见的excel分为xlsx格式和csv格式.分别实现一下. xlsx格式处理. 需要的pom依赖: ...
最新文章
- android 数据库索引,SQLite数据库提供警告自动索引(列)升级Android L后
- linux nexus状态,linux 启动 nexus
- offset client scroll
- matlab找出二维矩阵中最大值的位置或者最小值的位置
- 算符“.*”和“-*”,用于“成员指针”
- pytorch安装换源ubuntu_ubuntu 安装pytorch问题
- java的string访问某个元素_CSS伪类与伪元素总是傻傻分不清,这份总结够面试用了
- LeetCode 1456. 定长子串中元音的最大数目(滑动窗口)
- editview只输入英文_搜狗输入法Mac版更新:适配苹果M1处理器
- Ubuntu14.04开启wifi热点(亲测有效)
- 敏感词过滤的php代码,ThinkPHP敏感词汇过滤
- python 贪吃蛇
- 《Nature》 和 《 Science》 的区别是什么?
- 因特尔显卡自定义分辨率_为什么从最新的英特尔显卡控制面板中移除了自定义分辨率?...
- 用python自动制作ppt第二讲——插入文字的两种方法和追加文字
- Android版本名称、版本号、API level对应关系
- 自己对香港一卡通的总结
- PMBOK组织结构及特点-联络员、协调员
- 全渠道营销与多渠道营销:定义、比较、示例
- 开启虚拟机的时候出现不支持虚拟化的Intel VT-x/EPT