ssh+jxl将表格导出为Excel


首先准备jxl.jar.

然后让我们了解了解这个jxl,Excel本来就有工作簿、工作表、单元格等属性,所以我们从数据库导出表格也必须先有工作簿(workbook)、工作表(sheet)、单元格(label)。实现导出表格也是从三个入手。

首先创建一个writeworkbook对象

Writableworkbook  book=Workbook.createWorkbook(new File(path));

然后创建工作表sheet对象

WritableSheet sheet=book.createSheet("第一页",0);

创建单元格Label

Label label1=new Label(0,0"XXX");

最后sheet添加单元格

sheet.addCell(label1);

book.write();

book.close();

下面是我的例子。

public String exportExcel(){
		String path=ServletActionContext.getServletContext().getRealPath("images/user");
		List userList=userService.findAll();
		try{
			// 打开文件
			WritableWorkbook book = Workbook.createWorkbook(new File(path,"apply_users.xls"));
			// 定义格式, 字体, 下划线, 斜体, 粗体, 颜色
			WritableFont wf = new WritableFont(WritableFont.ARIAL, 10,
			    WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,
			jxl.format.Colour.BLACK);
			// 创建格式化对象实例
			WritableCellFormat totalx2Format = new WritableCellFormat(wf);
			// 垂直居中
			totalx2Format.setVerticalAlignment(VerticalAlignment.CENTRE);
			//自动换行
			totalx2Format.setWrap(true);
			// 水平居中
			totalx2Format.setAlignment(Alignment.CENTRE);
			// 生成名为“第一页”的工作表,参数0表示这是第一页
			WritableSheet sheet = book.createSheet(" 第一页 ", 0);
			// 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
			Label label1 = new Label(0, 0, " 序号 ",totalx2Format);
			Label label2 = new Label(1, 0, " 姓名 ",totalx2Format);
			Label label3 = new Label(2, 0, " 学院 ",totalx2Format);
			Label label4 = new Label(3, 0, " 专业 ",totalx2Format);
			Label label5 = new Label(4, 0, " 班级 ",totalx2Format);
			Label label6 = new Label(5, 0, " 一卡通号 ",totalx2Format);
			Label label7 = new Label(6, 0, " 联系电话 ",totalx2Format);
			//给sheet电子版中所有的列设置默认的列的宽度;
			 sheet.getSettings().setDefaultColumnWidth(30);
			// 将定义好的单元格添加到工作表中
			sheet.addCell(label1);
			sheet.addCell(label2);
			sheet.addCell(label3);
			sheet.addCell(label4);
			sheet.addCell(label5);
			sheet.addCell(label6);
			sheet.addCell(label7);

			ACMuser user=new ACMuser();
			for (int i = 0; i < userList.size(); i++) {
				user=(ACMuser) userList.get(i);
				sheet.addCell(new Label(0, i+1, i+1+"",totalx2Format));
				sheet.addCell(new Label(1, i+1, user.getUserName(),totalx2Format));
				sheet.addCell(new Label(2, i+1, user.getAcademy(),totalx2Format));
				sheet.addCell(new Label(3, i+1, user.getMajor(),totalx2Format));
				sheet.addCell(new Label(4, i+1, user.getUserClass(),totalx2Format));
				sheet.addCell(new Label(5, i+1, user.getCardnumber(),totalx2Format));
				sheet.addCell(new Label(6, i+1, user.getPhone(),totalx2Format));

			}
			book.write();
			book.close();
		}catch(Exception e){
			return "toError";
		}
		return "toExportExcel";
	}
时间: 2024-12-07 12:32:59

ssh+jxl将表格导出为Excel的相关文章

将HTML表格导出到EXCEL,兼容Firefox,支持中文

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <meta http-equiv="Content

MVC把表格导出到Excel

有关Model: namespace MvcApplication1.Models { public class Coach { public int Id { get; set; } public string Name { get; set; } } } HomeController中,借助GridView控件把内容导出到Excel: using System.Collections.Generic; using System.IO; using System.Linq; using Sys

html页面表格导出到excel

几种把html页面表格导出到excel的方法比较. 表格例子如下: <table id="tableExcel" width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td colspan="5" align="center">html 表格导出道Exceltd

JS 将页面上的表格导出为 Excel 文件

如果在页面上展示了一个表格,想把这个表格导出为Excel文件,那么在要求不高的情况下,可以直接利用 JavaScript 的 Blob 和 Object URL 特性将表格导出.不过,这就是利用了 Excel 能打开 HTML 文档的特性,所以导出的表格实际上是一个 HTML 文档,并且其扩展名只能为 .xls,而不能是 .xlsx,否则Excel无法打开.(有使用JavaScript生成真正Excel文件的方案,以后再研究.) 实例: <!DOCTYPE html> <html>

html页面表格导出到excel总结

转载:http://www.cnblogs.com/liuguanghai/archive/2012/12/31/2840262.html <table id="tableExcel" width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td colspan="5" align=&qu

将表格导出为excel

1 <table id="tableExcel" border="1"> 2 <tr> 3 <th>零</th> 4 <th>一</th> 5 <th>二</th> 6 <th>三</th> 7 <th>四</th> 8 </tr> 9 <tr> 10 <td>万籁寂无声</td&g

java中使用jxl实现表格导出

WritableWorkbook book = null; response.reset(); //PageContext. response.setCharacterEncoding("UTF-8");// 设置字符集 // 设置带有字形formatting的对象标题字体 // WritableFont.BOLD, true); WritableFont wf14 = new WritableFont(WritableFont.createFont("微软雅黑")

mysql数据库表格导出为excel表格

在本地数据库中操作如下: 由于excel表格的编码是GBK,所以导出时要加一个设置字符编码: select * from 某个表 into outfile 'd:/文件名.xls' CHARACTER SET gbk;

前端JS脚本将网页表格导出为Excel

话不多说,上代码! <!DOCTYPE> <html> <head> <title>Excel Test</title> </head> <body> <div style="width:100%;padding:40px;"> Excel Test </div> <table id="excel"> <tr> <td>Na