Skip to content

探索前端世界的无限可能:玩转Excel文件

使用Vue CLI创建项目

如果你喜欢使用Vue CLI,这是一个稳定且功能丰富的Vue项目脚手架工具。按照以下步骤创建你的Vue项目:

  1. 安装Vue CLI:如果你还没有安装Vue CLI,可以通过以下命令全局安装:

    shell
    npm install -g @vue/cli

    或者,如果你更喜欢使用yarn

    shell
    yarn global add @vue/cli
  2. 创建Vue项目:使用Vue CLI创建一个新的Vue项目。在你喜欢的工作目录下,运行以下命令:

    shell
    vue create my-vue-project

    按照提示选择你需要的配置,例如Babel、Router等。

  3. 安装XLSX库:项目创建完成后,进入项目目录并安装XLSX库:

    shell
    cd my-vue-project
    npm install xlsx

    或者,如果你使用的是yarn

    shell
    cd my-vue-project
    yarn add xlsx

使用Vite创建项目

Vite是一个现代化的前端构建工具,以其快速的热重载和构建性能而闻名。如果你想要一个更现代的体验,可以按照以下步骤使用Vite创建Vue项目:

  1. 安装Vite:如果你还没有安装Vite,可以通过以下命令全局安装:

    shell
    npm install -g vite

    或者,如果你更喜欢使用yarn

    shell
    yarn global add vite
  2. 创建Vue项目:现在,我们可以用Vite来创建一个新的Vue项目。在你喜欢的工作目录下,运行以下命令:

    shell
    vite create my-vue-project --template vue

    这将会创建一个名为my-vue-project的新项目,并使用Vue模板。

  3. 安装XLSX库:创建项目后,我们需要进入项目目录并安装XLSX库:

    shell
    cd my-vue-project
    npm install xlsx

    或者,如果你使用的是yarn

    shell
    cd my-vue-project
    yarn add xlsx

现在,无论你选择Vue CLI还是Vite,你的Vue项目都已经准备好了,XLSX库也安装完毕。我们可以开始编写代码,实现Excel文件的导入和导出功能了。让我们继续前进,探索更多前端的奇妙之处吧!🎉🛠️📁

导出Excel文件

在Vue组件中,我们可以使用XLSX库来导出数据到Excel文件。以下是具体的实现步骤和代码示例。

  1. 准备数据:首先,我们需要准备要导出的数据。在这个例子中,我们使用Vue的ref来定义一个响应式数据数组。

  2. 创建工作表:使用XLSX库的json_to_sheet方法将JSON数据转换为工作表。

  3. 创建工作簿并添加工作表:创建一个新的工作簿,并使用book_append_sheet方法将工作表添加到工作簿中。

  4. 导出文件:最后,使用writeFile方法将工作簿导出为Excel文件。

以下是具体的代码实现:

html
<template>
  <div>
    <button @click="exportToExcel">Export to Excel</button>
  </div>
</template>

<script setup>
import { ref } from 'vue';
import * as XLSX from 'xlsx';

// 准备要导出的数据
const data = ref([
  { name: 'John', age: 30, city: 'New York' },
  { name: 'Mike', age: 25, city: 'Chicago' },
  { name: 'Sara', age: 28, city: 'Los Angeles' }
]);

const exportToExcel = () => {
  // 将数据转换为工作表
  const ws = XLSX.utils.json_to_sheet(data.value);
  // 创建工作簿并添加工作表
  const wb = XLSX.utils.book_new();
  XLSX.utils.book_append_sheet(wb, ws, "Sheet1");

  // 导出Excel文件
  XLSX.writeFile(wb, "data.xlsx");
};
</script>

导入Excel文件

除了导出Excel文件,我们也经常需要从Excel文件中导入数据。以下是如何实现Excel文件导入的步骤和代码示例。

  1. 监听文件上传事件:在模板中添加一个文件输入元素,并监听其change事件。

  2. 读取文件内容:使用FileReader对象读取用户选择的文件内容。

  3. 解析Excel文件:使用XLSX库的read方法解析文件内容,并获取工作表。

  4. 转换为JSON:使用sheet_to_json方法将工作表转换为JSON格式,以便在Vue中使用。

以下是具体的代码实现:

html
<template>
  <div>
    <input type="file" @change="handleFileUpload">
  </div>
</template>

<script setup>
import * as XLSX from 'xlsx';

const handleFileUpload = (event) => {
  const file = event.target.files[0];
  const reader = new FileReader();
  reader.onload = (e) => {
    const data = e.target.result;
    const workbook = XLSX.read(data, { type: 'binary' });
    const sheetName = workbook.SheetNames[0];
    const worksheet = workbook.Sheets[sheetName];
    const json = XLSX.utils.sheet_to_json(worksheet);
    console.log(json); // 处理或使用数据
  };
  reader.readAsBinaryString(file);
};
</script>