国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

前端使用 xlsx.js 工具讀取 excel 遇到時間日期少 43 秒的解決辦法

這篇具有很好參考價值的文章主要介紹了前端使用 xlsx.js 工具讀取 excel 遇到時間日期少 43 秒的解決辦法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在使用 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(中國標準時間)’ ,這個時間格式是帶時區(qū)的,有沒有發(fā)現(xiàn),只要輸入年月日,讀到的數據總是差 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 文件的步驟文章來源地址http://www.zghlxwxcb.cn/news/detail-763148.html

<template>
  <el-upload
    ref="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.raw
    const 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 = key
    const worksheet = utils.aoa_to_sheet(sheetList[key])
    utils.book_append_sheet(workbook, worksheet,sheetName)
  }
  writeFile(workbook, fileName, {
    bookType: 'xlsx',
  })
}
</script>

到了這里,關于前端使用 xlsx.js 工具讀取 excel 遇到時間日期少 43 秒的解決辦法的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 前端結合xlsx.js+xlsx-style.js源碼實現(xiàn)自定義excel文件導出

    前端結合xlsx.js+xlsx-style.js源碼實現(xiàn)自定義excel文件導出

    ??????js-xlsx是一款非常方便的只需要純JS即可讀取和導出excel的工具庫,功能強大,支持格式眾多,支持xls、xlsx、ods(一種OpenOffice專有表格文件格式)等十幾種格式。本文全部都是以xlsx格式為例。 創(chuàng)建一個excel會經歷以下過程: 創(chuàng)建一個工作薄 創(chuàng)建一個sheet 創(chuàng)建表格行列等

    2024年03月10日
    瀏覽(33)
  • vue中使用xlsx讀取excel文件

    vue中使用xlsx讀取excel文件

    在項目的node_modules文件夾和package.json文件中可以找到xlsx依賴 這里使用的h5原生文件上傳項 其中 multiple 屬性允許上傳多個文件 其中,可以發(fā)現(xiàn)fileList是一個類數組,由傳入的file對象組成。每個file對象包含一下屬性: 屬性 屬性值 描述 lastModified Number 表示最近一次的修改時間

    2024年02月02日
    瀏覽(27)
  • sheetJs / xlsx-js-style 純前端實現(xiàn)導出 excel 表格及自定義單元格樣式

    sheetJs / xlsx-js-style 純前端實現(xiàn)導出 excel 表格及自定義單元格樣式

    xlsx 地址:https://www.npmjs.com/package/xlsx SheetJs 地址:https://docs.sheetjs.com/docs/ xlsx-js-style 地址:https://www.npmjs.com/package/xlsx-js-style !cols 設置列寬 cols 為一個對象數組,依次表示每一列的寬度 wpx 字段表示以像素為單位,wch 字段表示以字符為單位 hidden 如果為真,則隱藏該列 !rows 設

    2024年02月06日
    瀏覽(27)
  • 【前端】Vue中引入excel模板并下載以及XLSX使用

    模板存放位置 src/assets/excelTemplate/模板.xls 安裝模塊包 新增配置,在vue.config.js中,自己比較一下,最后一段新增的chainWebpack 即可將模板下載到本地 我使用XLSX的場景,在我上傳excel的時候,我需要獲取它的表頭以及里面的數據進行渲染到表格中,在我編輯的時候需要請求Exce

    2024年02月21日
    瀏覽(31)
  • 使用JavaScript和XLSX.js將數據導出為Excel文件

    導出數據是Web應用程序中常見的功能之一。在許多情況下,我們需要將數據導出為Excel文件,以便用戶可以在本地計算機上查看和編輯數據。在本篇博客中,我們將介紹如何使用JavaScript和XLSX.js將數據導出為Excel文件。 XLSX.js是一個JavaScript庫,它提供了一組API,可以將數據轉換

    2024年04月26日
    瀏覽(19)
  • 前端中不同格式的日期相互轉換(字符串、時間戳)js相關

    前端中不同格式的日期相互轉換(字符串、時間戳)js相關

    在項目中遇到了,需要實現(xiàn)字符串和Unix時間戳的相互轉換,隨手記錄一下。 我使用的組件庫為Naive UI,涉及到的組件為日期選擇器(Date Picker)。作者在文檔中寫道: 實話說我不喜歡這個 feature,因為多數情況下,傳遞時間字符串不是個最佳實踐。但是現(xiàn)實世界是復雜的,我

    2024年02月02日
    瀏覽(28)
  • 【Unity】用Excel庫讀取Excel表格(.xlsx或者.xls)

    【Unity】用Excel庫讀取Excel表格(.xlsx或者.xls)

    首先需要下載解析的庫??EPPlus,? Excel,? ICSharpCode.SharpZipLib? ? 下載鏈接: https://download.csdn.net/download/weixin_46472622/87238048 使用方法 我的Excel 表格是這樣的,每一列有一個 我用一個結構體對象來表示 讀取的方法 ?全部代碼,以及調用: 如果是打包PC端的exe,需要將編輯

    2024年02月12日
    瀏覽(30)
  • C# 讀取 Excel xlsx 文件,顯示在 DataGridView 中

    編寫 read_excel.cs 如下 SET PATH=C:WINDOWSMicrosoft.NETFrameworkv4.0.30319;%PATH% 編譯:csc.exe ?/t:exe read_excel.cs?? 環(huán)境:win10 64位系統(tǒng) 運行 yourpathread_excel.exe? test1.xlsx 錯誤信息:未在本地計算機上注冊“ Microsoft.ACE.OLEDB.12.0 ”提供程序。 搜索 Microsoft Access Database Engine 2016? 我先下載了

    2024年02月07日
    瀏覽(28)
  • 前端實現(xiàn)(excel)xlsx文件預覽

    前端實現(xiàn)(excel)xlsx文件預覽

    使用的框架: React 要使用的庫: exceljs、handsontable 接到一個任務,是要前端實現(xiàn)文件預覽效果,百度了一圈,發(fā)現(xiàn)也沒有什么好的方法可以完美的將表格渲染出來。在前端中有 sheetjs 和 exceljs 可以對xlsx文件進行解析,本來一開始我用的是 sheetjs ,但是在樣式獲取上遇到了麻煩,

    2024年02月06日
    瀏覽(24)
  • xlsx庫實現(xiàn)純前端導入導出Excel

    xlsx庫實現(xiàn)純前端導入導出Excel

    最近做了前端導入、導出 Excel 的需求,用到了 js-xlsx 這個庫,該庫文檔提供的用例很少,并不是很友好。本文總結一下我是如何實現(xiàn)需求的。 提供一個 Excel 文件,將里面的內容轉成 JSON 導入數據 提供一個 JSON 文件,生成 Excel 文件并導出 導入與導出既可以前端做,也可以后

    2023年04月08日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包