本介绍两种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();
}

JAVA 导出 Excel, JS 导出 Excel的更多相关文章

  1. JAVA web端JS下载excel文件

    JSP代码如下: JSP端引入jquery.easyui.min.js库: <script type="text/javascript" src="<c:ur ...

  2. java代码导出数据到Excel、js导出数据到Excel(三)

     jsp内容忽略,仅写个出发按钮:          <button style="width: 100px" onclick="expertExcel()&quo ...

  3. java实现excel模板导出

    一. 准备工作 1. 点击此下载相关开发工具 2. 将poi-3.8.jxls-core-1.0两个jar包放到工程中,并引用 3. 将excel模板runRecord.xls放到RunRecordB ...

  4. CefSharp中实现Chrome中jS导出Excel

    [前言] 在博客园闲逛了一年多,平时都是借鉴别人的成功经验,总觉得自己应该分享点什么,但是苦于自己技术有限,平时又不爱写东西,所以一直没有写过任何东西.毕业一年多,在现实工作中遇到各种问题,深切体会到 ...

  5. Java Excel导入导出(实战)

    一.批量导入(将excel文件转成list) 1. 前台代码逻辑 1)首先在html页面加入下面的代码(可以忽略界面的样式) <label for="uploadFile" ...

  6. 关于Java中excel表格导出的总结(Java程序导出模板和Java根据模板导出表格两种实现方式)

    导出excel通用模板(程序定义模板导出) 转载原文:https://www.jianshu.com/p/5c7b359a159c 如下代码,本方法主要用于程序定义模板格式,并导出文件.该方法将定义和 ...

  7. Java操作Jxl实现导出数据生成Excel表格数据文件

    实现:前台用的框架是Easyui+Bootstrap结合使用,需要引入相应的Js.Css文件.页面:Jsp.拦截请求:Servlet.逻辑处理:ClassBean.数据库:SQLserver. 注意: ...

  8. java+layui的Excel导入导出

    html: <button class="layui-btn" onclick="exportData();">导出</button> ...

  9. html js 导出excel表格

    这个使用js 导出excel,可以集成其他语言,可以html,php,asp ,java 等,自己喜欢用那种语言就用哪种,使用非常方便.js是使用tableExport.js ,jquery-3.2. ...

随机推荐

  1. Android-LoaderManager异步加载数据库数据

    LoaderManager异步加载数据库数据,是在(Activity/fragment/其他UI等) 加载大量的本地Database库表数据,由于数据大在加载过程中会导致UI线程阻塞,导致用户体验不好 ...

  2. SpringBoot tomcat

    该文的前提是已经可以在控制台运行成功,有些时候想放在tomcat里运行 大致分为如下几步 1.配置文件更改 <dependency> <groupId>org.springfr ...

  3. 创建TFS备份计划失败,错误提示:TF400997

    问题描述 在一个TFS 2018 + SQL Server 2017的环境中,从TFS控制台中配置备份计划时,系统提示错误TF400997,需要授予数据库服务账户sqlservice@domain.c ...

  4. 一个初学者的指南,使用D3做数据绑定

    一个初学者的指南,使用D3做数据绑定 D3.js 是个强大的数据可视化库,可以做出惊艳的图表.比如:气泡图,线图和条形图--只需要很少行的代码 随着初学者对JavaScript的理解,可以将数组或者对 ...

  5. linux系统编程之管道(二):管道读写规则

    一,管道读写规则 当没有数据可读时 O_NONBLOCK disable:read调用阻塞,即进程暂停执行,一直等到有数据来到为止. O_NONBLOCK enable:read调用返回-1,errn ...

  6. DataSet转换成List<>

    方法一: //DataSet转换成List<ArticleInfo> public List<ArticleInfo> GetArticleList(DataSet ds) { ...

  7. CSS3 & 页面布局

    相关链接 视频链接: CSS3 & 页面布局 CSS3与页面布局学习总结(一) CSS3与页面布局学习总结(二) CSS3与页面布局学习总结(三) CSS3与页面布局学习总结(四) CSS3与 ...

  8. From Alpha to Gamma (I)

    What we think of as conventional alpha-blending is basically wrong. --Tom Forsyth 前段时间在Amazon上淘的三本二手 ...

  9. Docker之存储管理

    本文由作者邹珍珍授权网易云社区发布. 本文主要介绍Docker的存储管理.Docker拥有镜像分层,写时复制机制以及内容寻址存储等特征,为了支持这些特征,Docker设计了一套镜像元数据管理机制来管理 ...

  10. 检查网卡是否支持 SR-IOV

    [root@node1 ~]# lspci -nn | grep Eth 08:00.0 Ethernet controller [0200]: Intel Corporation I350 Giga ...