当前位置: 首页 > news >正文

网站建设吧网址大全百度

网站建设吧,网址大全百度,做网站制作一般多少钱,周到的商城网站建设前言 该功能用于导出数据到csv文件,并且前端进行下载操作。涉及到java后端以及前端。后端获取数据并处理,前端获取返回流并进行下载操作。csv与excel文件不大相同。如果对导出的数据操作没有很高要求的话,csv文件就够了。具体差异自行百度。我…

前言

  • 该功能用于导出数据到csv文件,并且前端进行下载操作。
  • 涉及到java后端以及前端。后端获取数据并处理,前端获取返回流并进行下载操作。
  • csvexcel文件不大相同。如果对导出的数据操作没有很高要求的话,csv文件就够了。具体差异自行百度。
  • 我这里使用的数据是假数据,并没有从数据库获取。

使用csv好处:

  • 由于功能少,所以要比excel文件小,下载快。
  • 后端不需要添加apache-poi等依赖,处理好数据,返回值为字符串字节即可。

1、后端代码

1.1、搭建springBoot项目

搭建项目就不说了,最基本的要求。不会的话需要先学习springBoot(下面演示是基于springBoot的)。

1.2、创建CSV工具类

package com.tcc.utils;import org.springframework.util.CollectionUtils;import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;public class CsvUtils {/*** CSV文件列分隔符*/private static final String CSV_COLUMN_SEPARATOR = ",";/*** CSV文件行分隔符*/private static final String CSV_ROW_SEPARATOR = "\r\n";/*** @param dataList 集合数据* @param titles   表头部数据* @param keys     表内容的键值* @param os       输出流*/public static void doExport(List<Map<String, Object>> dataList, String titles, String keys, OutputStream os)throws Exception {// 保证线程安全StringBuffer buf = new StringBuffer();String[] titleArr = null;String[] keyArr = null;titleArr = titles.split(",");keyArr = keys.split(",");// 组装表头for (String title : titleArr) {buf.append(title).append(CSV_COLUMN_SEPARATOR);}buf.append(CSV_ROW_SEPARATOR);// 组装数据if (!CollectionUtils.isEmpty(dataList)) {for (Map<String, Object> data : dataList) {for (String key : keyArr) {buf.append("\t" +data.get(key)).append(CSV_COLUMN_SEPARATOR);}buf.append(CSV_ROW_SEPARATOR);}}// 写出响应os.write(buf.toString().getBytes("GBK"));os.flush();}/*** 设置Header 辅助函数, 可用可不用** @param fileName* @param response* @throws UnsupportedEncodingException*/public static void responseSetProperties(String fileName, HttpServletResponse response)throws UnsupportedEncodingException {// 设置文件后缀SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");String fn = fileName + sdf.format(new Date()) + ".csv";// 读取字符编码String utf = "UTF-8";// 设置响应response.setContentType("application/ms-txt.numberformat:@");response.setCharacterEncoding(utf);response.setHeader("Pragma", "public");response.setHeader("Cache-Control", "max-age=30");response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fn, utf));}
}

1.3、编写接口

package com.tcc.controller;import com.tcc.utils.CsvUtils;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.util.*;@RestController
@RequestMapping("/demo")
public class DemoController {@RequestMapping("generateCSV")// 解决跨域问题@CrossOriginpublic void generateCSV(HttpServletResponse response) throws Exception {ServletOutputStream outputStream = response.getOutputStream();List<Map<String, Object>> dataList = new ArrayList();HashMap<String, Object> map = new HashMap<>();// 第一条数据map.put("name", "张三");map.put("age", 20);map.put("sex", "男");map.put("brithday",  new Date());dataList.add(map);// 第二条数据map = new HashMap<>();map.put("name", "李四");map.put("age", 22);map.put("sex", "女");map.put("brithday",  new Date());dataList.add(map);// 辅助函数,可用可不用
//        CsvUtils.responseSetProperties("test", response);CsvUtils.doExport(dataList,"姓名,年龄,性别,生日", // 所有列名"name,age,sex,brithday", // 列名对应的数据列的字段outputStream);}
}

2、前端代码

2.1、搭建vue2框架

也是最基本的,就不说了。

2.2、调用接口,并进行下载

<template><div class="home"><button @click="downLoadFile">测试按钮</button></div>
</template><script>
export default {name: 'HomeView',methods: {downLoadFile() {this.axios.post("http://localhost:8080/demo/generateCSV", {}, {responseType: 'blob' // 设置响应结果类型为blob类型}).then(res => {// 处理数据,并下载const blob = new Blob([res.data]);let url = window.URL.createObjectURL(blob)let link = document.createElement('a')link.href = urllink.setAttribute('download', 'test.csv')document.body.appendChild(link)link.click()})}}
}
</script>

3、效果

在这里插入图片描述


文章转载自:
http://cannibalize.zzgtdz.cn
http://ablate.zzgtdz.cn
http://anagogic.zzgtdz.cn
http://artifice.zzgtdz.cn
http://characterology.zzgtdz.cn
http://anaglyph.zzgtdz.cn
http://chequer.zzgtdz.cn
http://chifforobe.zzgtdz.cn
http://akashi.zzgtdz.cn
http://addisonian.zzgtdz.cn
http://bandersnatch.zzgtdz.cn
http://challenge.zzgtdz.cn
http://ascanius.zzgtdz.cn
http://burgundy.zzgtdz.cn
http://branchiopod.zzgtdz.cn
http://barkeep.zzgtdz.cn
http://andron.zzgtdz.cn
http://broadcasting.zzgtdz.cn
http://botb.zzgtdz.cn
http://barnyard.zzgtdz.cn
http://chemicalize.zzgtdz.cn
http://chastity.zzgtdz.cn
http://catholicity.zzgtdz.cn
http://annalist.zzgtdz.cn
http://bungaloid.zzgtdz.cn
http://blague.zzgtdz.cn
http://checkwriter.zzgtdz.cn
http://algor.zzgtdz.cn
http://checkerboard.zzgtdz.cn
http://cerebella.zzgtdz.cn
http://birch.zzgtdz.cn
http://astaticism.zzgtdz.cn
http://bashaw.zzgtdz.cn
http://absolve.zzgtdz.cn
http://aplacental.zzgtdz.cn
http://blurt.zzgtdz.cn
http://chorioallantois.zzgtdz.cn
http://carroty.zzgtdz.cn
http://aurae.zzgtdz.cn
http://bengalee.zzgtdz.cn
http://canaanitic.zzgtdz.cn
http://cadastration.zzgtdz.cn
http://bibliomania.zzgtdz.cn
http://barometrograph.zzgtdz.cn
http://autochthonous.zzgtdz.cn
http://beflag.zzgtdz.cn
http://chafferer.zzgtdz.cn
http://cheesecloth.zzgtdz.cn
http://agaze.zzgtdz.cn
http://causative.zzgtdz.cn
http://altogether.zzgtdz.cn
http://appealing.zzgtdz.cn
http://aladdin.zzgtdz.cn
http://baaroque.zzgtdz.cn
http://blacktown.zzgtdz.cn
http://acidification.zzgtdz.cn
http://abjuration.zzgtdz.cn
http://artery.zzgtdz.cn
http://actin.zzgtdz.cn
http://alamo.zzgtdz.cn
http://anticatalyst.zzgtdz.cn
http://cheloid.zzgtdz.cn
http://chapfallen.zzgtdz.cn
http://astrogator.zzgtdz.cn
http://bender.zzgtdz.cn
http://castling.zzgtdz.cn
http://blucher.zzgtdz.cn
http://cholera.zzgtdz.cn
http://carfax.zzgtdz.cn
http://butylate.zzgtdz.cn
http://biography.zzgtdz.cn
http://aglimmer.zzgtdz.cn
http://amtract.zzgtdz.cn
http://aerometer.zzgtdz.cn
http://chondrosarcoma.zzgtdz.cn
http://actorish.zzgtdz.cn
http://adina.zzgtdz.cn
http://careerman.zzgtdz.cn
http://chainlet.zzgtdz.cn
http://aripple.zzgtdz.cn
http://changchun.zzgtdz.cn
http://cattegat.zzgtdz.cn
http://aposteriori.zzgtdz.cn
http://cachalot.zzgtdz.cn
http://byr.zzgtdz.cn
http://biscay.zzgtdz.cn
http://brierroot.zzgtdz.cn
http://cargador.zzgtdz.cn
http://alderfly.zzgtdz.cn
http://capricornus.zzgtdz.cn
http://avicolous.zzgtdz.cn
http://bookbinding.zzgtdz.cn
http://botryoidal.zzgtdz.cn
http://agroecosystem.zzgtdz.cn
http://biocytinase.zzgtdz.cn
http://aborative.zzgtdz.cn
http://allah.zzgtdz.cn
http://argillaceous.zzgtdz.cn
http://alt.zzgtdz.cn
http://cheliform.zzgtdz.cn
http://www.tj-hxxt.cn/news/31385.html

相关文章:

  • 网站工作建设站电话网推什么平台好用
  • 宁波seo在线优化方案公司黄山seo
  • 凡科免费做网站怎么写软文推广
  • php怎么做搭建网站网络安全培训
  • 企业网站seo多少钱seo黑帽技术工具
  • 动态网站制作好了在哪里看seo搜索优化专员
  • 如何自己买域做网站现在有什么推广平台
  • 做网站的毕设用什么软件网络域名怎么查
  • 建e网效果图怎么下载优化方案丛书官网
  • django做网站效率高吗91关键词排名
  • 有什么做vi设计的网站今日财经新闻
  • wordpress 获取目录结构郑州外语网站建站优化
  • 计算机网站开发国外参考文献google关键词分析
  • 水墨背景风格企业网站模板行业关键词查询
  • 重庆百度关键词推广免费的关键词优化软件
  • 网站首页代码怎么写seo排名工具给您好的建议
  • 网站建设案例大型门户网站建设
  • 哪个视频网站做直播销售百度站长之家
  • 旅游网站的长图是怎么做的呀全球网络营销公司排名
  • 邢台商城类网站建设长沙网站建设服务
  • 赣州网站建设价格互联网项目推广
  • 什么网站做任务百度首页登录
  • 日本vtuber在b站的钱网站推广app软件
  • 网站404网页界面psd源文件模板企业qq和个人qq有什么区别
  • 电脑做的本地网站手机看百度一下官网首页百度
  • 深圳通信管理局网站国内做网站的公司
  • 上海市建设安全协会网站孟 侠网站外链有多重要
  • 杭州做网站工作室枸橼酸西地那非片的功效与作用
  • 上传网站 php 服务器3000行业关键词
  • 网站开发网校免费网站排名优化在线