本介绍两种Excle导出方法: JAVA 导出 Excle, JS 导出 Excle

1, js 根据 html 页面的 table > tr > td 标签导出

  js代码:

//导出var idTmr;  function getExplorer() {  var explorer = window.navigator.userAgent ;  //ie  if (explorer.indexOf("MSIE") >= 0) {  return 'ie';  }  //firefox  else if (explorer.indexOf("Firefox") >= 0) {  return 'Firefox';  }  //Chrome  else if(explorer.indexOf("Chrome") >= 0){  return 'Chrome';  }  //Opera  else if(explorer.indexOf("Opera") >= 0){  return 'Opera';  }  //Safari  else if(explorer.indexOf("Safari") >= 0){  return 'Safari';  }  }  function exportData(tableid) {  if(getExplorer()=='ie')  {  var curTbl = document.getElementById(tableid);  var oXL = new ActiveXObject("Excel.Application");  var oWB = oXL.Workbooks.Add();  var xlsheet = oWB.Worksheets(1);  var sel = document.body.createTextRange();  sel.moveToElementText(curTbl);  sel.select();  sel.execCommand("Copy");  xlsheet.Paste();  oXL.Visible = true;  try {  var fname = oXL.Application.GetSaveAsFilename("Excel.xls", "Excel Spreadsheets (*.xls), *.xls");  } catch (e) {  print("Nested catch caught " + e);  } finally {  oWB.SaveAs(fname);  oWB.Close(savechanges = false);  oXL.Quit();  oXL = null;  idTmr = window.setInterval("Cleanup();", 1);  }  }  else  {  tableToExcel(tableid);}  }  function Cleanup() {  window.clearInterval(idTmr);  CollectGarbage();  }  var tableToExcel = (function() {  var uri = 'data:application/vnd.ms-excel;base64,',  template = '<html><head><meta charset="UTF-8"></head><body><table>{table}</table></body></html>',  base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s)));},  format = function(s, c) {  return s.replace(/{(\w+)}/g,  function(m, p) { return c[p]; });};return function(table, name) {  if (!table.nodeType) table = document.getElementById(table);  var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML};window.location.href = uri + base64(format(template, ctx));};})();

  html 代码:

<input class='btn_04'  type='button' id='exportData' value="导出数据" onclick="exportData('tableExcel')"/>

ps:js 导出可兼容主流浏览器,包括360. 缺陷为:只能导出千级别的数据量,亲测15000条数据不能导出

----------------------------------------------------------------------------------

2, java 导出 Excle文件,根据集合遍历生成excle,需要依赖 poi-3.8-20120326.jar 包(或其他版本,请自行下载)

  java 代码:

       List<ClUserinfo> regUsers = clSecurityService.findClUserinfos(clSecurityForm);List<TempUser> userList = new ArrayList<TempUser>();for (ClUserinfo userinfo : regUsers) {TempUser user = new TempUser();user.setUserName(userinfo.getUserName());user.setUserType(userinfo.getUserType());user.setCompany(userinfo.getCompany());user.setKeshi(userinfo.getKeshi());user.setProvince(userinfo.getProvince());user.setCreatedDate(userinfo.getCreatedDate());user.setCreateDateStr(userinfo.getCreatedDate().toString());userList.add(user);}HSSFWorkbook wb = new HSSFWorkbook();  HSSFSheet sheet = wb.createSheet("注册用户表");  HSSFRow row = sheet.createRow((int) 0);  HSSFCellStyle style = wb.createCellStyle();  style.setAlignment(HSSFCellStyle.ALIGN_CENTER); HSSFCell cell = row.createCell((short) 0);  cell.setCellValue("姓名");  cell.setCellStyle(style);  cell = row.createCell((short) 1);  cell.setCellValue("专委会");  cell.setCellStyle(style);  cell = row.createCell((short) 2);  cell.setCellValue("单位");  cell.setCellStyle(style);  cell = row.createCell((short) 3);  cell.setCellValue("科室");  cell.setCellStyle(style);  cell = row.createCell((short) 4);  cell.setCellValue("注册日期");  cell.setCellStyle(style);  for (int i = 0; i < userList.size(); i++)  {  row = sheet.createRow((int) i + 1);  TempUser user = (TempUser) userList.get(i);  row.createCell((short) 0).setCellValue(user.getUserName());  row.createCell((short) 1).setCellValue(user.getUserType());  row.createCell((short) 2).setCellValue(user.getCompany());row.createCell((short) 3).setCellValue(user.getKeshi());row.createCell((short) 4).setCellValue(user.getCreateDateStr());}  try {  FileSystemView fsv = FileSystemView.getFileSystemView();File com=fsv.getHomeDirectory();  //桌面
                FileOutputStream fout = new FileOutputStream(com.getPath() + "/注册用户列表-" + new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()) + ".xls");  wb.write(fout);  fout.close();  }  catch (Exception e)  {  e.printStackTrace();  }  

转载于:https://www.cnblogs.com/linnuo/p/6732292.html

JAVA 导出 Excel, JS 导出 Excel相关推荐

  1. js导出EXCEL js导出EXCEL

    参考一:http://wenku.baidu.com/view/7b81f3eb6294dd88d0d26b57.html 参考二: js导出EXCEL js导出EXCEL <html> ...

  2. php导出复杂表头excel,js导出复杂表头(多级表头)的excel

    Document 姓名 一月 二月 收入支出收入支出张三10元20元15元25元李四100元200元150元250元 导出excel functiontableToExcel(){//要导出的数据 v ...

  3. vue使用Export2Excel.js导出表格自定义样式(表头加分割斜线)(笔记)

    1.Export2Excel.js 文件内容 /* eslint-disable */ /** 导出Excel需要依赖 * npm install xlsx file-saver -S * npm i ...

  4. java如何导入和导出ex_SpringBoot中关于Excel的导入和导出

    前言 由于在最近的项目中使用Excel导入和导出较为频繁,以此篇博客作为记录,方便日后查阅.本文前台页面将使用layui,来演示对Excel文件导入和导出的效果.本文代码已上传至我的gitHub,欢迎 ...

  5. xlsx.js 实现前端 table 数据导出并下载为 excel

    目录 需求 ① 加载 xlsx.js ② 引入 JS 代码 ③ 按钮绑定事件 结果 附源码 需求 在写一个 SSM 项目的时候需要添加 excel 数据导出的功能, 实质上也就是将从数据库中渲染到前端 ...

  6. Java 亿万级数据导出到Excel

    由于项目需要,处理百万级数据导出问题. 直接开始撸代码~ 导入依赖 <!-- 文件导出--><dependency><groupId>org.apache.poi& ...

  7. 使用xlsx.js导出有复杂表头的excel

    前端使用xlsx.js导出有复杂表头的excel 参考: Vue项目中使用xlsx-style导出有格式的表格,这个博客中的实现是针对单个excel手写合并样式,比较繁琐. 我这里实现了根据table ...

  8. Java报表工具FineReport导出EXCEL的四种API

    在实际的应用中会经常需要将数据导出成excel,导出的方式除原样导出还有分页导出.分页分sheet导出和大数据量导出.对于excel 2003版,由于限制了每个sheet的最大行数和列数,大数据量导出 ...

  9. java超级简单到爆的Excel导入导出(easypoi)

    场景: 在日常工作中,excel导入导出,是十分常见的,有两种主流的技术,一种是jxl,另一种是poi,而easypoi就是对poi进行了封装,使得导入导出变得更加的简单,阿里巴巴也有封装的工具名叫E ...

  10. 浏览器端JS导出EXCEL

    浏览器端JS导出EXCEL FileSaver.js 实现了在本身不支持 HTML5 W3C saveAs() FileSaver 接口的浏览器支持文件保存.FileSaver.js 在客户端保存文件 ...

最新文章

  1. 计算机基本组成: 触发器
  2. 蓝桥学院2019算法题1.3
  3. JSON.parse使用 之 Unexpected token o in JSON at position 1 报错原因
  4. cas后端返回html直接跳转,CAS验证成功后不能跳转到登陆成功的主页面解决办法...
  5. 转https_这个PDF转图片技巧,不用1分钟就能快速上手
  6. StakeDAO新增Sushiswap流动性奖励计划
  7. amazon linux ami root 密码,Ubuntu Server的Amazon AMI映像的默认用户名是什么?
  8. sendRedirect的路径
  9. python可以处理什么文件_第十五篇 Python之文件处理
  10. 安装R和Rstudio win10
  11. 阿里云云计算ACP学习(二)---弹性存储
  12. mybatis看这一篇就够了,简单全面一发入魂
  13. VBA轻松实现多色渐变填充
  14. 转载:SpringBoot非官方教程 | 第二十四篇: springboot整合docker
  15. Linux打印添加水印,linux下word转pdf,加水印
  16. 手机智能汽车钥匙来了, 汽车远程启动在手机上就能完成
  17. Vista下最好用输入法 - 搜狗拼音输入法4.0正式版闪亮登场!
  18. Higgs全球区块链投融资交流会(香港站)成功举办,路演项目备受瞩目
  19. 《近匠》专访Ayla Networks云平台工程部主管——企业级物联网云平台的设计与部署...
  20. 运放的基本应用电路-运放电路设计-运算放大器的基本应用电路

热门文章

  1. RPM-GPG-KEY在包安装时候的作用
  2. HDOJ--2092--整数解(水题)
  3. Apache无法加载PHP模块的解决方案
  4. (二)Luence——代码实现索引及搜索
  5. 语音分析应用场景——来电原因分析与运营效率提升
  6. MongoDB学习(一)Centos6.5下安装mongoDB
  7. 程序防止多开的几种常见方法
  8. [转]架构师的职责及工作描述
  9. 任正非谈鸿蒙系统06 新闻,任正非首谈华为鸿蒙操作系统:很有可能比安卓和苹果还要快!...
  10. 17.Mongodb预分片(pre-split)/autosplit(chunk/jumbochunk相关)