文档章节

前端table数据导出excel

扬州炒饭
 扬州炒饭
发布于 2014/04/15 10:40
字数 359
阅读 2684
收藏 12

html中的table如下:

<table>
  <tr><td>姓名</td><td>性别</td><td>年龄</td><tr>
  <tr><td>张三</td><td>男</td><td>30</td></tr>
  <tr><td>李四</td><td>男</td><td>25</td></tr>
  <tr><td>王五</td><td>男</td><td>20</td></tr>
</table>

在js中遍历table数据,获取所需的数据 格式例如:#姓名,性别,年龄C#张三,男,30#李四,男,25#王五,男,20#

var table = "";
$("table").find("tr").each(function(){
    var tr = "";
    $(this).find("td").each(function(index){
	tr += $(this).html() + ",";
    });
    if(tr != ""){
	table += tr + "#";
    }
});
在java中如下:
public voidexportDoc(String table) throws IOException{
    String table = table;
    String[] tableData = table.split("#");
    // 创建Excel的工作书册 Workbook,对应到一个excel文档
    HSSFWorkbook wb = new HSSFWorkbook();
    // 创建Excel的工作sheet,对应到一个excel文档的tab
    HSSFSheet sheet = wb.createSheet("sheet1");
    // 设置excel每列宽度
    sheet.setColumnWidth(0, 3000); 
    sheet.setColumnWidth(1, 3000); 
    sheet.setColumnWidth(2, 2000);
    // 创建字体样式
    HSSFFont font = wb.createFont(); 
    font.setFontName("Verdana");
    font.setBoldweight((short) 100);
    font.setFontHeight((short) 300);
    font.setColor(HSSFColor.BLACK.index);
    // 创建单元格样式
    HSSFCellStyle style = wb.createCellStyle();
    // 设置字体
    style.setFont(font);
    style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
    style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
    // 创建Excel的sheet的一行
    HSSFRow row = sheet.createRow(0);
    // 创建一个Excel的单元格
    HSSFCell cell = row.createCell(0);
    // 合并单元格(startRow,endRow,startColumn,endColumn)
    sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 2));
    //给Excel的单元格设置样式和赋值
    cell.setCellStyle(style);
    cell.setCellValue("标题");
    // 设置单元格内容
    for(int i = 0; i < tableData.length; i++){
    	String[] tableDataTr = tableData[i].split(",");
    	row = sheet.createRow(i + 1);
    	for(int j = 0; j < tableDataTr.length; j++){
    		cell = row.createCell(j);
    		cell.setCellValue(tableDataTr[j]);
    	}
    }
    FileSystemView fsv = FileSystemView.getFileSystemView();
    System.out.println(fsv.getHomeDirectory());
    FileOutputStream os = new FileOutputStream( fsv.getHomeDirectory() + "\\文件名.xls");
    wb.write(os);
    os.close();
}

© 著作权归作者所有

扬州炒饭
粉丝 42
博文 93
码字总数 24585
作品 0
程序员
私信 提问
加载中

评论(1)

朱门中人
朱门中人
不错,可用,直接在桌面生成excel
vue-element-admin v3.5.1 发布,后台集成方案

vue-element-admin v3.5.1 已发布,更新内容: 新增 postcss-url 插件 优化upload-excel] 支持拖拽上传excel 优化[permission]:set role => roles 修复侧边栏多级菜单样式问题 #327 修复国际...

王练
2018/01/06
3.7K
6
vue-element-admin v3.6.4 发布,后台集成方案

vue-element-admin v3.6.4 已发布,更新如下: 优化: index.html script 标签插入位置 #507 优化: 使用 2 空格替代一个 tab #522 优化: 使用 Object.keys 来遍历 #518 优化[editor-dashboard...

王练
2018/03/27
4.8K
5
vue-element-admin v3.7.2 发布,后台集成方案

vue-element-admin v3.7.2 已发布,更新内容如下: 新增了 进行提交格式化校验 #818 优化了[ArticleDetail]: refine :span #841 by @ZYSzys 优化了[login]: 修复了登录页 input placeholder ...

王练
2018/07/15
2.6K
6
vue-element-admin v3.9.1 发布,后台集成方案

vue-element-admin v3.9.1 已发布,更新内容: feature[TagsView]: 支持鼠标中键关闭 TagsView #1149 feature[Breadcrumb]: 增加 pathToRegexp 来处理 path,以便让面包屑支持动态路径 #114...

王练
2018/10/10
3.7K
1
vue-element-admin v3.6.1 发布,后台集成方案

vue-element-admin v3.6.1 已发布,更新内容: 新增 TreeTable 在开发模式中设置 cheap-source-map 为默认打包方式 vue-element-admin 是基于 vue+element 的后台集成方案,功能包括: 登录/...

王练
2018/01/24
20.8K
1

没有更多内容

加载失败,请刷新页面

加载更多

用原生js对表格排序

本文转载于:专业的前端网站➸用原生js对表格排序 阿里的模拟笔试题,当时时间有限没写出来,其实是因为自己对原生dom操作不熟悉,这里补一下。 题目的大意是有一个表格,如代码所示 <table>...

前端老手
40分钟前
6
0
IT兄弟连 HTML5教程 HTML5表单 HTML5新增表单元素

HTML5有一些新的表单元素:<datalist>、<keygen>、<output>。不是所有的浏览器都支持HTML5新的表单元素,但即使浏览器不支持该表单属性,仍然可以显示为常规的表单元素。 1 <datalist>元素 ...

老码农的一亩三分地
41分钟前
4
0
【朝花夕拾】Android自定义View篇之(一)View绘制流程

https://www.cnblogs.com/andy-songwei/p/10955062.html

shzwork
43分钟前
5
0
Qt编写自定义控件70-扁平化flatui

一、前言 对于现在做前端开发人员来说,FlatUI肯定不陌生,最近几年扁平化的设计越来越流行,大概由于现在PC端和移动端的设备的分辨率越来越高,扁平化反而看起来更让人愉悦,而通过渐变色产...

飞扬青云
53分钟前
3
0
教你玩转Linux—添加批量用户

添加和删除用户对每位Linux系统管理员都是轻而易举的事,比较棘手的是如果要添加几十个、上百个甚至上千个用户时,我们不太可能还使用useradd一个一个地添加,必然要找一种简便的创建大量用户...

Linux就该这么学
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部