Angular 导出CSV表
来源:互联网 发布:java策略模式接口意义 编辑:程序博客网 时间:2024/05/29 09:20
emmmmmmmmmmmmmmm 代码如下 简单的CSV能直接拿来用
import {Injectable} from '@angular/core';@Injectable()export class ExportService { csvSeparator = ','; constructor() { } /** * @param value //[{'姓名':'小明','成绩','100'}] * @param columns //['姓名','成绩'] * @param exportFilename // '成绩统计表' */ exportCSV(value, columns, exportFilename) { const data = value; let csv = '\ufeff'; // headers for (let i = 0; i < columns.length; i++) { const column = columns[i]; csv += '"' + (column.header || column) + '"'; if (i < (columns.length - 1)) { csv += this.csvSeparator; } } // body data.forEach((record) => { csv += '\n'; for (let i_1 = 0; i_1 < columns.length; i_1++) { const column = columns[i_1]; csv += '"' + this.resolveFieldData(record, column) + '"'; if (i_1 < (columns.length - 1)) { csv += this.csvSeparator; } } }); const blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' }); if (window.navigator.msSaveOrOpenBlob) { navigator.msSaveOrOpenBlob(blob, exportFilename + '.csv'); } else { const link = document.createElement('a'); link.style.display = 'none'; document.body.appendChild(link); if (link.download !== undefined) { link.setAttribute('href', URL.createObjectURL(blob)); link.setAttribute('download', exportFilename + '.csv'); link.click(); } else { csv = 'data:text/csv;charset=utf-8,' + csv; window.open(encodeURI(csv)); } document.body.removeChild(link); } } resolveFieldData(data, field) { if (data && field) { if (field.indexOf('.') === -1) { return data[field]; } else { const fields = field.split('.'); let value = data; for (let i = 0, len = fields.length; i < len; ++i) { if (value === null) { return null; } value = value[fields[i]]; } return value; } } else { return null; } }}
阅读全文
0 0
- Angular 导出CSV表
- Angular中前端导出CSV文件
- SQLite表导出csv文件
- csv.js导出csv
- CSV 导出
- 导出csv
- 导出csv
- csv 导出
- 导入导出mysql表数据到csv
- 批量导出表数据到CSV文件
- 导出表中数据到csv
- oracel中的表导出csv文件
- csv文件导出
- php导出CSV方法
- 导出CSV EXCEL
- php导出CSV方法
- JAVA 导出CSV代码
- dataset 导出 csv
- 编程语言的分类
- Centos7部署Kubernetes集群
- 友盟推送集合小米华为通道
- findfile
- 什么是jvm
- Angular 导出CSV表
- 代码查看工具source insight 安装破解说明
- 前端之js跨域
- 利用tensorflow训练自己的图片数据(1)——预处理
- rtl usb无线网卡驱动
- 批量处理
- springMVC的restful风格
- .NET 使用 ODP.NET 组件访问Oracle提示 外部组件发生异常 错误的解决办法
- go install 命令