当前位置:首页 > VUE

vue实现表格报表

2026-01-17 00:12:05VUE

Vue 实现表格报表的方法

使用 Element UI 的表格组件

Element UI 提供了功能丰富的表格组件,适合快速实现报表功能。安装 Element UI 后,可以直接使用 el-table 组件展示数据。

<template>
  <el-table :data="tableData" border 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="amount" label="金额"></el-table-column>
  </el-table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { date: '2023-01-01', name: '张三', amount: 1000 },
        { date: '2023-01-02', name: '李四', amount: 2000 }
      ]
    }
  }
}
</script>

使用 VxeTable 实现高级功能

如果需要更复杂的表格功能(如虚拟滚动、导出 Excel),可以使用 VxeTable。安装后,通过配置列和数据实现报表。

<template>
  <vxe-table :data="tableData">
    <vxe-column field="date" title="日期"></vxe-column>
    <vxe-column field="name" title="姓名"></vxe-column>
    <vxe-column field="amount" title="金额"></vxe-column>
  </vxe-table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { date: '2023-01-01', name: '张三', amount: 1000 },
        { date: '2023-01-02', name: '李四', amount: 2000 }
      ]
    }
  }
}
</script>

自定义表格组件

对于高度定制化的需求,可以手动实现表格组件。通过 v-for 动态渲染表头和表体数据。

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

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

集成图表与表格

报表通常需要结合图表展示数据。使用 ECharts 或 Chart.js 在表格旁添加可视化图表。

<template>
  <div>
    <el-table :data="tableData"></el-table>
    <div ref="chart" style="width: 600px; height: 400px;"></div>
  </div>
</template>

<script>
import * as echarts from 'echarts'
export default {
  mounted() {
    const chart = echarts.init(this.$refs.chart)
    chart.setOption({
      xAxis: { type: 'category', data: ['一月', '二月'] },
      yAxis: { type: 'value' },
      series: [{ data: [1000, 2000], type: 'bar' }]
    })
  }
}
</script>

数据导出功能

通过 xlsx 库实现表格数据导出为 Excel 文件,适合报表需求。

vue实现表格报表

<template>
  <el-button @click="exportExcel">导出 Excel</el-button>
  <el-table :data="tableData" ref="table"></el-table>
</template>

<script>
import XLSX from 'xlsx'
export default {
  methods: {
    exportExcel() {
      const table = this.$refs.table.$el
      const workbook = XLSX.utils.table_to_book(table)
      XLSX.writeFile(workbook, '报表.xlsx')
    }
  }
}
</script>

以上方法覆盖了从基础到高级的表格报表需求,根据项目复杂度选择合适方案。

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

相关文章

vue 实现表格单选

vue 实现表格单选

实现表格单选的方法 在Vue中实现表格单选功能可以通过多种方式完成,以下是几种常见的实现方法: 使用v-model绑定选中项 通过v-model绑定一个变量来记录当前选中的行数据。当用户点击某一行时…

国外vue实现表格控件

国外vue实现表格控件

以下是国外流行的 Vue 表格控件实现方案及特点,供参考: vue-good-table 基于 Vue 2/3 的轻量级表格组件,支持排序、分页、筛选等功能。 安装方式: npm instal…

vue实现子表格

vue实现子表格

实现子表格的基本思路 在Vue中实现子表格通常需要结合组件化思想和动态渲染技术。常见的场景是在主表格的行内嵌套子表格,展开主表行时显示对应的子表数据。 使用el-table实现子表格(Element…

css 制作报表

css 制作报表

使用CSS制作报表 通过CSS可以创建结构清晰、样式美观的报表。以下是一些关键方法和技巧: 基础表格样式 table { width: 100%; border-collapse: col…

vue 实现表格渲染

vue 实现表格渲染

基本表格渲染 在 Vue 中渲染表格通常使用 v-for 指令遍历数据数组,动态生成表格行。以下是一个简单的示例: <template> <table> <…

vue实现表格序号

vue实现表格序号

实现表格序号的常见方法 在Vue中为表格添加序号列可以通过多种方式实现,以下是几种典型方案: 使用v-for索引 <template> <table> <…