当前位置:首页 > VUE

vue实现表格报表

2026-03-29 16:49:41VUE

Vue 实现表格报表的方法

使用 Element UI 的表格组件

Element UI 提供了强大的表格组件,支持分页、排序、筛选等功能。安装 Element UI 后,可以直接使用 el-table 组件来渲染表格数据。

<template>
  <el-table :data="tableData" style="width: 100%">
    <el-table-column prop="date" label="日期" width="180"></el-table-column>
    <el-table-column prop="name" label="姓名" width="180"></el-table-column>
    <el-table-column prop="address" label="地址"></el-table-column>
  </el-table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { date: '2023-01-01', name: '张三', address: '北京市' },
        { date: '2023-01-02', name: '李四', address: '上海市' }
      ]
    }
  }
}
</script>

使用 VxeTable 实现高级表格

VxeTable 是一个基于 Vue 的高性能表格库,支持复杂的表格功能如树形表格、虚拟滚动、导出 Excel 等。

vue实现表格报表

<template>
  <vxe-table :data="tableData">
    <vxe-column type="seq" width="60"></vxe-column>
    <vxe-column field="name" title="姓名"></vxe-column>
    <vxe-column field="age" title="年龄"></vxe-column>
  </vxe-table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { name: '张三', age: 25 },
        { name: '李四', age: 30 }
      ]
    }
  }
}
</script>

自定义表格组件

如果需要完全自定义的表格,可以通过 Vue 的动态组件和插槽功能实现灵活的表格渲染。

vue实现表格报表

<template>
  <table class="custom-table">
    <thead>
      <tr>
        <th v-for="column in columns" :key="column.key">{{ column.title }}</th>
      </tr>
    </thead>
    <tbody>
      <tr v-for="(row, index) in data" :key="index">
        <td v-for="column in columns" :key="column.key">{{ row[column.key] }}</td>
      </tr>
    </tbody>
  </table>
</template>

<script>
export default {
  props: {
    columns: Array,
    data: Array
  }
}
</script>

导出表格为 Excel

使用 xlsx 库可以将表格数据导出为 Excel 文件。

import XLSX from 'xlsx'

export default {
  methods: {
    exportToExcel() {
      const ws = XLSX.utils.json_to_sheet(this.tableData)
      const wb = XLSX.utils.book_new()
      XLSX.utils.book_append_sheet(wb, ws, 'Sheet1')
      XLSX.writeFile(wb, '报表.xlsx')
    }
  }
}

动态加载表格数据

通过 API 动态加载表格数据,结合分页功能实现大数据量的展示。

export default {
  data() {
    return {
      tableData: [],
      currentPage: 1,
      pageSize: 10,
      total: 0
    }
  },
  methods: {
    async fetchData() {
      const res = await api.getData({
        page: this.currentPage,
        size: this.pageSize
      })
      this.tableData = res.data
      this.total = res.total
    }
  },
  created() {
    this.fetchData()
  }
}

以上方法可以根据具体需求选择适合的方案来实现 Vue 中的表格报表功能。

标签: 报表表格
分享给朋友:

相关文章

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

vue实现上传表格

vue实现上传表格

Vue实现上传表格的方法 使用Element UI上传组件 Element UI提供了el-upload组件,可以方便地实现文件上传功能。需要安装Element UI并引入相关组件。 安装Eleme…

vue实现表格筛选

vue实现表格筛选

实现表格筛选的基本思路 在Vue中实现表格筛选通常涉及以下几个核心步骤:数据绑定、筛选逻辑处理、动态渲染。以下是具体实现方法。 基础数据绑定与表格渲染 定义表格数据和表头结构,使用v-for循环渲染…

vue实现拖拽表格

vue实现拖拽表格

Vue 实现拖拽表格的方法 使用第三方库(推荐) 推荐使用 vuedraggable 或 sortablejs 这类成熟的拖拽库,它们对 Vue 有良好支持且功能丰富。 安装 vuedraggabl…

vue实现表格组件

vue实现表格组件

Vue 表格组件实现方法 基础表格实现 使用 Vue 的模板语法可以快速实现基础表格功能。通过 v-for 指令循环渲染表格数据。 <template> <table>…

vue实现表格更新

vue实现表格更新

实现表格数据更新的方法 在Vue中实现表格数据更新通常涉及数据绑定、响应式更新和事件处理。以下是几种常见的方法: 使用v-for指令绑定数据 通过v-for指令动态渲染表格行,数据更新时会自动触发视…