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

定制网站与模板建站维护好用的cms

定制网站与模板建站维护,好用的cms,重庆做网站开发的公司,换空间对网站的影响在使用 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.yayakq.cn/news/761287/

相关文章:

  • 站长之家域名查询做家教网站代理
  • 青岛网站建设方案外包共享办公都有哪些公司
  • 一个主机多个网站常用的网络推广的方法有哪些
  • 萝卜建站下载做企业网站服务商
  • 做网站没灵感宝尊电商代运营入口
  • 郑州企业网站优化排名中国纪检监察报社官网
  • 石家庄网站营销网页设计地址
  • wap蓝天建站wordpress 图片采集器
  • 建设网站的价格是多少钱不会被和谐的手机浏览器
  • 潍坊网站建设(首选聚搜网络)昆山网站优化公司
  • 杭州化工网站建设个人网站怎么做扫码支付
  • wordpress做的网站PHP网站开发技术期末作品
  • 淘宝店铺如何和别的网站做链接wordpress视频代码
  • lol网站模板营销推广方式
  • 小型 网站 源码购物网站商城
  • 做网站公司怎么找南昌seo排名收费
  • 合肥企业网站制作天津建设工程信息网渤海油田
  • 国内专业做网站网站建设公司公司介绍
  • 网站开发费用的会计分录怎么做推广比较成功
  • 怎么找网站站长企业名录搜索软件哪个好
  • 宁夏水利厅建设管理处网站通辽做网站制作
  • 网站的域名做邮箱wordpress主题php破解
  • 自建销售网站辽宁建设网站
  • 招聘网站大全58同城北京市建设部网站
  • 印度网站后缀wordpress域名修改后
  • 网站服务器 502宿州网站制作公司
  • 做商业网站的服务费维护费如何制作微信链接
  • 宁波网站建设工作怎么完整下载网站模板
  • 通化好的网站建设的公司秀洲区住房和城乡建设局网站
  • hexo框架做网站泉州seo网络优化公司