Angular ng-zorro 读取Excel表格的内容显示在页面

本文介绍了如何在Angular项目中利用ng-zorro库读取Excel文件内容,将数据展示在前端页面并允许编辑,最终保存到数据库。通过ng-Alain官方文档提供的方法,对上传按钮样式进行了自定义。
摘要由CSDN通过智能技术生成

项目场景:

需求:在前端上传Excel表格,获取表格内容,并显示在页面,存入数据库。避免需要把文件上传到云端浪费存储空间。



实现效果

  1. 点击按钮:
    在这里插入图片描述

  2. 选择要读取值的表格
    在这里插入图片描述

  3. 读取值
    在这里插入图片描述

  4. 可编辑
    在这里插入图片描述

  5. 打印数据到控制台
    在这里插入图片描述

  6. 点击确定后上传到数据库


实现过程

ng-Alain 官网上有详细的方法介绍,https://ng-alain.com/components/xlsx/zh 由于input按钮样式太丑,以下是基于官网的方法做修改

1.引入库

代码如下(示例):

import {
    AuthService } from '@shared/services/auth.service';
import {
    XlsxService } from '@delon/abc'; // angular9以下引用这个
import {
    XlsxService } from '@delon/abc/xlsx'; // 9及以上引用这个


......

  constructor(
    private xlsx: XlsxService,
    private cdr: ChangeDetectorRef,
  ) {
   }

2.读入数据

Html:上传按钮

<nz-form-item>
      <nz-form-control>
        <nz-upload [(nzFileList)]="fileList" [nzBeforeUpload]="beforeUpload" [acl]="'role-admin'">
          <button nz-button>
            <svg
              viewBox="64 64 896 896"
              fill="currentColor"
              width="1em"
              height="1em"
              data-icon="file-excel"
              aria-hidden="true"
            >
              <path
                d="M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM514.1 580.1l-61.8-102.4c-2.2-3.6-6.1-5.8-10.3-5.8h-38.4c-2.3 0-4.5.6-6.4 1.9-5.6 3.5-7.3 10.9-3.7 16.6l82.3 130.4-83.4 132.8a12.04 12.04 0 0010.2 18.4h34.5c4.2 0 8-2.2 10.2-5.7L510 664.8l62.3 101.4c2.2 3.6 6.1 5.7 10.2 5.7H620c2.3 0 4.5-.7 6.5-1.9 5.6-3.6 7.2-11 3.6-16.6l-84-130.4 85.3-132.5a12.04 12.04 0 00-10.1-18.5h-35.7c-4.2 0-8.1 2.2-10.3 5.8l-61.2 102.3z"
              ></path>
            </svg>
            <span>Excel导入</span>
          </button>
        </nz-upload>
      </nz-form-control>
    </nz-form-item>

Html:表格弹窗

<nz-modal
  [(nzVisible)]="isVisible"
  nzTitle="
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值