当前位置: 首页 > news >正文

360建筑网站网站流量查询站长之家

360建筑网站,网站流量查询站长之家,设计公司办公空间,自己电脑可以做网站服务器在使用 xlsx 读取 excel 的时间格式的数据时,如 ‘2023-11-30’,‘2023/11/30’ ,默认会读取一串数字字符串,如:‘45260’,此时需要在 read 的时候传入一个配置项: import { read } from xlsxc…

在使用 xlsx 读取 excel 的时间格式的数据时,如 ‘2023-11-30’,‘2023/11/30’ ,默认会读取一串数字字符串,如:‘45260’,此时需要在 read 的时候传入一个配置项:

import { read } from 'xlsx'const workbook = read(fileData, {type: 'binary',cellDates: true, // 读取日期格式的数据
})

此时拿到的是标准的时间格式 :‘Wed Nov 29 2023 23:59:17 GMT+0800(中国标准时间)’ ,这个时间格式是带时区的,有没有发现,只要输入年月日,读到的数据总是差 43 秒,解决思路也很粗暴,判断是这个时间,直接加 44 秒。

if(dateStr){if(dateStr?.includes('23:59:17')) {dateStr = dayjs(dateStr).add(44, 'second')}// 如果需要可以格式化成需要的格式const dayObj = dayjs(dateStr.toString())if(dayObj.isValid()) {dateStr = dayObj.format('YYYY-MM-DD')}return dateStr
}

附:element-plus el-upload 读取 xlsx 格式的 excel 文件的步骤

<template><el-uploadref="uploadRef"action="":auto-upload="false":on-change="onSelectFile":on-remove="onRemoveFile":file-list="fileList"accept=".xlsx"><el-button type="primary">导入</el-button></el-upload><br><el-button @click="handleExport">导出</el-button>
</template><script setup lang="ts">
import { ref } from 'vue'
import type { UploadFile, UploadRawFile } from 'element-plus'
import { read, utils, writeFile } from 'xlsx'type IExcel = Record<string, Array<Record<string, string>>>const fileList = ref<{name: string}[]>([])
const importData = ref<IExcel | null>(null)async function onSelectFile(file: UploadFile) {reset()if(file.raw) {if(file.raw.type !== 'application/vnd.openxmlformats-offocedocument.spreadsheetml.sheet') {return '请上传 xlsx 格式文件'}if(file.raw.size / 1024 / 1024 > 10) {return '文件格式不能超过 10M'}fileList.value.push({ name: file.raw.name })// 解析文件const raw = file.rawconst res = await readFile2Binary(raw)const resInfo: IExcel = {} // 解析结果if(res) {const workbook = read(res, {type: 'binary',cellDates: true,})workbook.SheetNames.forEach((sheetName) => {const excelData: Record<string, string>[] = utils.sheet_to_json(workbook.Sheets[sheetName])resInfo[sheetName] = excelData})// 检查数据的合法性// if(validXLSX(resInfo)) {//   importData.value = resInfo// }importData.value = resInfo}}
}// 重置
function reset() {fileList.value = []// ...
}
function onRemoveFile() {reset()
}/*** 将 el-upload 选择的文件读取成二进制* @param raw */
function readFile2Binary(raw: UploadRawFile) {return new Promise((resolve, reject) => {const reader = new FileReader()reader.readAsBinaryString(raw)reader.onload = (ev) => {if(ev.target) {resolve(ev.target.result)} else {reject()}}})
}/*** 导出*/
function handleExport() {const sheetList = {sheet1: [],sheet2: [],}const fileName = 'xxx.xlsx'const workbook = utils.book_new()for(const key in sheetList) {const sheetName = keyconst worksheet = utils.aoa_to_sheet(sheetList[key])utils.book_append_sheet(workbook, worksheet,sheetName)}writeFile(workbook, fileName, {bookType: 'xlsx',})
}
</script>

http://www.15wanjia.com/news/161028.html

相关文章:

  • 私人让做彩票网站吗中国做民宿的网站
  • 唐山做网站建设的公司软件开发工程师是什么职业
  • 网站建设条款高端企业网站建设服务商
  • 网站flash引导页c 做网站怎么显示歌词
  • 桂林生活网官方网站大连网站建设运营
  • 内蒙能源建设集团网站优化设计方案
  • 邯郸网站设计开发公司电脑网站显示安全证书有问题怎么解决
  • 做网站利润城乡与住房建设部网站首页
  • 网站功能方案高端网站开发哪家专业
  • 胶州网站建设公司哪家好国外电商平台排名
  • 网站里面嵌入的地图是怎么做的知名网站制作公司
  • 电商网站的宣传推广python 做网站合适吗
  • 佛山网站建设找哪家网站备案 接入商备案
  • 国内做受网站网站怎么做快捷方式
  • 互联网门户网站ih5做pc 网站
  • 西安网站免费制作利用php做网站
  • 什么网站做外贸最多的做网站培训班南京
  • 网站建设迁移方案WordPress赞赏代码
  • wordpress门户网站主题wordpress 展开收缩
  • 品牌网站建设服务机构重庆网站建设 观音桥
  • 做seo推广网站在线咨询东莞网络做推广公司
  • 微信微网站平台百度智能创作平台
  • 企业网站建设的主要步骤个人网页注册
  • 南昌网站建设模板文档邢台网站制作的地方
  • 搭建国外网站的步骤广州网页设计多少钱
  • 搭建企业网站关键词热度查询工具
  • 百度短网址在线生成网站优化设计方案
  • 二学一做专题网站武昌网站建设公司
  • 网络 网站建设成都犀牛网站建设
  • 青海城乡住房建设厅网站租服务器价格一览表