当前位置:首页 > 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 中的表格报表功能。

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

相关文章

vue实现复杂报表

vue实现复杂报表

Vue实现复杂报表的方法 使用Vue实现复杂报表需要结合数据可视化库和组件化开发思路。以下是几种常见实现方式: 使用ECharts集成 安装ECharts库: npm install echart…

vue实现表格读取数据

vue实现表格读取数据

Vue 实现表格数据读取 在 Vue 中实现表格数据读取通常涉及以下关键步骤: 数据绑定与表格渲染 通过 v-for 指令动态渲染表格行,数据通常存储在组件的 data 或 Vuex 状态中:…

vue实现上传表格

vue实现上传表格

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

vue实现表格修改

vue实现表格修改

Vue 实现表格修改的方法 使用 v-model 绑定数据 在 Vue 中可以通过 v-model 实现双向数据绑定,适用于表格单元格的编辑。 为表格的每个单元格绑定 v-model,动态修改数据。…

vue实现表格搜索

vue实现表格搜索

实现表格搜索功能 在Vue中实现表格搜索功能,可以通过以下步骤完成: 数据绑定与搜索输入框 创建一个输入框用于接收用户输入的搜索关键词,使用v-model实现双向绑定。 <template…

vue循环实现表格

vue循环实现表格

Vue 循环实现表格的方法 在 Vue 中,可以通过 v-for 指令循环渲染表格数据。以下是一些常见的实现方式: 基础表格循环 使用 v-for 循环数组数据生成表格行: <templat…