欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何使用JavaScript獲取word的內(nèi)容

 更新時間:2025年02月26日 16:23:24   作者:mob64ca12f63d4f  
這篇文章主要為大家詳細(xì)介紹了如何使用JavaScript獲取word的內(nèi)容,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

一、流程概述

在這個過程中,我們將通過以下步驟獲取Word文件的文字內(nèi)容。操作需要使用到FileReader對象以及庫如mammoth.js。以下是詳細(xì)的步驟流程表:

步驟描述
1引入必要的庫
2創(chuàng)建文件選擇器
3添加文件選擇事件監(jiān)聽器
4使用FileReader讀取文件內(nèi)容
5處理讀取的內(nèi)容并輸出

二、步驟詳解

1. 引入必要的庫

首先,確保你在HTML文件中引入mammoth.js庫。這個庫能夠幫助我們從Word文件中提取文本。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Word文件讀取</title>
    <script src="
</head>
<body>
    <!-- 這里后面會添加其他HTML元素 -->
</body>
</html>

注釋:引入mammoth.js庫,以便后續(xù)提取Word文件內(nèi)容。

2. 創(chuàng)建文件選擇器

接下來,我們需要一個文件選擇器來讓用戶選擇他們的Word文件。

<input type="file" id="upload" accept=".docx"/>
<div id="output"></div>

注釋:<input>標(biāo)簽用于文件上傳,accept屬性限制用戶只能選擇.docx文件。

3. 添加文件選擇事件監(jiān)聽器

我們需要監(jiān)聽用戶在文件選擇器中的操作:

document.getElementById('upload').addEventListener('change', function(event) {
    var file = event.target.files[0]; // 獲取用戶選擇的文件
    if (file) {
        var reader = new FileReader(); // 創(chuàng)建文件讀取對象
        reader.onload = function(e) {
            var arrayBuffer = e.target.result; // 獲取文件內(nèi)容
            mammoth.extractRawText({ arrayBuffer: arrayBuffer })
                .then(displayResult) // 提取文本并顯示
                .catch(handleError); // 錯誤處理
        };
        reader.readAsArrayBuffer(file); // 讀取文件為字節(jié)流
    }
});

注釋:

addEventListener:監(jiān)聽change事件,當(dāng)用戶選擇文件時觸發(fā)。

FileReader():JavaScript提供的用于讀取文件的API。

reader.onload:讀取完成后調(diào)用的函數(shù)。

mammoth.extractRawText:提取Word文件文本的方法。

4. 處理讀取的內(nèi)容并輸出

定義displayResult和handleError函數(shù),通過它們來顯示結(jié)果和處理錯誤。

function displayResult(result) {
    document.getElementById('output').innerText = result.value; // 顯示提取的文本
}

function handleError(err) {
    console.error('Error: ', err); // 輸出錯誤信息
}

注釋:

displayResult:該函數(shù)將提取的文本顯示在output的<div>元素中。

handleError:用于輸出讀取過程中可能發(fā)生的錯誤到控制臺。

類圖

使用Mermaid語法可以繪制如下一張類圖,展示代碼組件之間的關(guān)系。

旅行圖

通過Mermaid語法的旅行圖,可以清晰了解我們實(shí)現(xiàn)上述功能的過程。

三、小結(jié)

通過以上步驟,我們成功地運(yùn)用JavaScript從Word文件中提取了文字內(nèi)容。這種技巧在需要處理用戶上傳文檔內(nèi)容的場景中非常有用,例如在線文檔編輯、內(nèi)容管理系統(tǒng)等。學(xué)習(xí)并掌握這一技能,將極大提高你的前端開發(fā)能力。

四、方法補(bǔ)充

除了上文的方法,小編為大家整理了其他JavaScript獲取word內(nèi)容的方法,希望對大家有所幫助

示例代碼

把docx文件中表格轉(zhuǎn)化為json二維數(shù)組

import { convertToHtml } from "mammoth"
import { JSDOM } from "jsdom"

convertToHtml({ path: "./test.docx" })
    .then(function (result) {
        const html = result.value // The generated HTML
        const messages = result.messages // 轉(zhuǎn)化時的一些warning信息
        console.log(messages)

        const table_data: string[][] = []

        // 使用 JSDOM 加載 HTML 內(nèi)容
        const dom = new JSDOM(html)
        const document = dom.window.document

        // 獲取表格中的所有 <tr> 元素
        const tableRows = document.querySelectorAll("table tr")

        // 遍歷 <tr> 元素
        tableRows.forEach((row, index) => {
            const row_data: string[] = []
            // 獲取當(dāng)前行中的所有 <td> 元素
            const cells = row.querySelectorAll("td")

            // 遍歷 <td> 元素
            cells.forEach((cell, cellIndex) => {
                row_data.push(cell.textContent ?? "")
            })
            table_data.push(row_data)
        })

        console.log("Table結(jié)果", table_data)
    })
    .catch(function (error) {
        console.error(error)
    })

代碼解釋 

  • mammoth 將word轉(zhuǎn)化為html
  • jsdom 不在瀏覽器中時,用來解析html的dom結(jié)構(gòu)

到此這篇關(guān)于如何使用JavaScript獲取word的內(nèi)容的文章就介紹到這了,更多相關(guān)JavaScript獲取word內(nèi)容內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 原生JS實(shí)現(xiàn)無縫輪播圖片

    原生JS實(shí)現(xiàn)無縫輪播圖片

    這篇文章主要為大家詳細(xì)介紹了原生JS實(shí)現(xiàn)無縫輪播圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • 使用webpack打包ts代碼的實(shí)現(xiàn)

    使用webpack打包ts代碼的實(shí)現(xiàn)

    本文主要介紹了使用webpack打包ts代碼的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 微信小程序調(diào)用攝像頭實(shí)現(xiàn)拍照功能

    微信小程序調(diào)用攝像頭實(shí)現(xiàn)拍照功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序調(diào)用攝像頭實(shí)現(xiàn)拍照功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • js中如何往對象中添加屬性

    js中如何往對象中添加屬性

    這篇文章主要介紹了js中如何往對象中添加屬性,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 微信小程序分頁加載的實(shí)例代碼

    微信小程序分頁加載的實(shí)例代碼

    本篇文章主要介紹了微信小程序分頁加載的實(shí)例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • JavaScript中字符串GBK與GB2312的編解碼示例講解

    JavaScript中字符串GBK與GB2312的編解碼示例講解

    在瀏覽器JavaScript環(huán)境中,可以使用TextEncoder和TextDecoder?API?來進(jìn)行?GBK?編碼和解碼,也可以使用?encodeURIComponent?函數(shù)對字符串進(jìn)行編碼,最好使用第三方庫,比如iconv-lite來實(shí)現(xiàn)
    2023-12-12
  • 詳解JavaScript 的執(zhí)行機(jī)制

    詳解JavaScript 的執(zhí)行機(jī)制

    這篇文章主要介紹了JavaScript 的執(zhí)行機(jī)制,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下
    2020-09-09
  • JavaScript canvas實(shí)現(xiàn)帶有陰影的圖形和文字

    JavaScript canvas實(shí)現(xiàn)帶有陰影的圖形和文字

    這篇文章主要為大家詳細(xì)介紹了JavaScript canvas實(shí)現(xiàn)帶有陰影的圖形和文字,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • JS獲取字符串型數(shù)組下標(biāo)的數(shù)組長度的代碼

    JS獲取字符串型數(shù)組下標(biāo)的數(shù)組長度的代碼

    JS獲取字符串型數(shù)組下標(biāo)的數(shù)組長度的代碼,需要的朋友可以參考下
    2013-03-03
  • 21個值得收藏的Javascript技巧

    21個值得收藏的Javascript技巧

    在本文中列出了21個值得收藏的Javascript技巧,在實(shí)際工作中,如果能適當(dāng)運(yùn)用,則大大提高工作效率
    2014-02-02

最新評論