在ASP MVC中如何使用Angular5导出excel文件

话不多说,直接来实际的。

import { Injectable } from ‘@angular/core‘;
import { HttpClient, HttpParams, HttpHeaders } from ‘@angular/common/http‘;
import { Observable } from ‘rxjs‘;
@Injectable()

首先引用基础组件。

url: string;
constructor(private http: HttpClient) { }

声明api路径访问

实例化对象的时候初始化HttpClient对象。

关于导出excel这块,我用的是文件流,不同思路的朋友可以参考着

后台c#代码:

public FileResult Export(int itype = 0)
{
Expression<Func<t_CarRegister, bool>> Func =p=> true;
if (itype > 0)
{
Func = Func.And(u => u.f_CarType == itype);
}
var list = _CRS.GetConditionByWhereToExport(Func);
DataSet ds = new DataSet();
DataTable dt = DataTableExt.ToDataTable(list);
ds.Tables.Add(dt);
MemoryStream stream = NPOIExcelHelper.ExportExcel(dt, NPOIExcelHelper.ExtendPropertiesType.None, "t_CarRegister");
return File(stream, "application/vnd.ms-excel", "车辆管理" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls");
}

这里用来NPOI第三方excel导出组件,将查询到的数据转化为excel形式,然后以文件流的形式返回出来。

现在看看前台js处理这块:

//导出excel
excelExport(itype: string) {
var now = new Date()
this.url = "/CarRegister/Export?itype=" + itype;
return this.downloadFile("车辆管理" + now.getDate() + ".xls");
}

//这是调用http向后台发送请求

doDownload() {
return this.http.get(this.url, { headers: new HttpHeaders().append(‘Content-Type‘, ‘application/vnd.ms-excel‘), responseType: ‘blob‘, observe: ‘body‘ })
}

//将后台返回的的文件流存储存储为需要保存的文件类型

downloadFile(filename: string) {
return this.doDownload().subscribe(
res => {
var url = window.URL.createObjectURL(res);
var a = document.createElement(‘a‘);
document.body.appendChild(a);
a.setAttribute(‘style‘, ‘display: none‘);
a.href = url;
a.download = filename;
a.click();
window.URL.revokeObjectURL(url);
a.remove();
}, error => {
console.log(‘download error:‘, JSON.stringify(error));
}, () => {
console.log(‘Completed file download.‘)
});
}

这一块的思路,是将查询doDownload方法查询完毕后的对象进行处理。获取文件流对象,将文件流对象创造出来,然后用一个a标签去点击他,得到这个对象,然后去点击这个a标签,触发下载这个机制,然后将excel下载到本地。

目前针对asp mvc这块导出excel是这样子的, 有什么疑惑可以 留言,或者加我qq一起沟通交流。QQ:1024358044

原文地址:https://www.cnblogs.com/HuJinBoss/p/9073142.html

时间: 2024-10-10 07:31:38

在ASP MVC中如何使用Angular5导出excel文件的相关文章

Asp.net中由DataSet数据类型导出Excel

今天要做一个功能 导出录取学生信息 费了半天劲结果被老师教育了一番 好了不抱怨了 DataSet数据类型导出Excel 好了不说了上源码 try { System.Web.HttpContext curContext = System.Web.HttpContext.Current; DataSet dsExcel = xqgl.Select_DCXSXXALL(); DataGrid dg = new DataGrid(); dg.DataSource = dsExcel; dg.DataBi

Java web中不同浏览器间导出Excel文件名称乱码问题解决方案

问题描述: 对于不同浏览器存在对中文编码格式问题,从而在导出Excel文件时,中文文件名出现乱码的情况,即在程序中给要导出的文件指定一个中文名字时,在浏览器上出现的下载框中的文件名出现了乱码,解决如下: 解决方案: [java] view plain copy Date dt=new Date();//如果不需要格式,可直接用dt,dt就是当前系统时间 DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//设置显示格

java中使用poi导入导出excel文件_并自定义日期格式

Apache POI项目的使命是创造和保持java API操纵各种文件格式基于Office Open XML标准(OOXML)和微软的OLE复合文档格式(OLE2)2.总之,你可以读写Excel文件使用java.此外,您可以读取和写入MS Word和PowerPoint文件使用java.Apache POI是java Excel解决方案(Excel 97-2008). 需要jar: poi-3.9-20121203.jar 导出 public static void main(String[]

eggjs中使用exceljs直接导出excel文件

最近要做一个导出excel表的功能,网上很多教程都是服务端生成excel文件,然后将excel文件返回给客户端,这样做的话服务端就会生成一个不需要的excel文件了,查了许久(本人太菜了莫见怪)找到了直接将excel文件生成到客户端的方法,这里记录一下,给那些和我一样找这个方法的童鞋.不多说了,写法如下: const Excel = require('exceljs'); let workBook = new Excel.Workbook(); // .... 这里是一系列添加数据操作,网上很多

asp.net 导出excel文件

之前做过winfrom程序的导出excel文件的功能,感觉非常简单.现在试着做asp.net中导出excel的功能,之前用的是Microsoft.Office.Interop.Excel这个对象来实现数据导出excel,在asp.net上完全被它给恶心到了.首先是不能弹出保存对话框,然后又是在代码执行到Microsoft.Office.Interop.Excel.Application myexcel = new Microsoft.Office.Interop.Excel.Applicatio

springMVC中使用POI方式导出excel至客户端、服务器实例

Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 这里的方法支持导出excel至项目所在服务器,或导出至客户端浏览器供用户下载,下面我把两个实例都放出来. 1.下载所需POI的jar包,并导入项目. 2.添加一个User类,用于存放用户实体,类中内容如下: 1 package com.mvc.po; 2 3 public class User { 4 private int id; 5 priva

在ASP.NET Core中使用EPPlus导入出Excel文件

原文:在ASP.NET Core中使用EPPlus导入出Excel文件 这篇文章说明了如何使用EPPlus在ASP.NET Core中导入和导出.xls/.xlsx文件(Excel).在考虑使用.NET处理excel时,我们总是寻找第三方库或组件.使用Open Office Xml格式(xlsx)读取和写入Excel 2007/2010文件的最流行的.net库之一是EPPlus.这个库现在已经支持.NET Core许久了.这适用于Windows,Linux和Mac. 因此,让我们创建一个新的AS

关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法

转载自 阿姆的博客 关于asp.net C# 导出Excel文件打开Excel文件格式与扩展名指定格式不一致的解决办法 导致“文件格式与扩展名指定格式不一致”这个问题,是因为大多数人在导出excel文件的时候,都是默认保存excel的格式, 也就是直接workbook.Save(path)或者workbook.SaveAs(path).进而忽略了SaveAs方法里面的参数.与保存excel文件格式有 关的是它第二个参数FileForMat. FileFormat 类型:System.Object

在springmvc项目中使用poi导入导出excel

首先要导入spring相关包,poi,和fileupload包,我是使用maven构建的. 一.导入excel (1)使用spring上传文件 a.前台页面提交 <form name="excelImportForm" action="${pageContext.request.contextPath}/brand/importBrandSort" method="post" onsubmit="return checkImpor