使用jxl从web页面下载数据到本地的Excel中
2017-11-02 16:20
459 查看
//从数据库获取数据 list
List<Map<String,Object>> list = xxxxxxx;
//列的宽度数组
Integer[] columnWidths = new Integer[] { 15, 15, 15, 15, 15, 15};
//定义输出流
OutputStream os = null;
//创建工作簿
WritableWorkbook work = null;
try {
//下载时的提示的文件名
String excelName = "表.xls";
//设置内容类型
response.setContentType("APPLICATION/OCTET-STREAM");
//设置消息头
response.setHeader("Content-Disposition", "attachment; filename="
+ URLEncoder.encode(excelName, "UTF-8"));
//获取输出流
os = response.getOutputStream();
//定义表名
String sheetName = "转账记录表";
WorkbookSettings setting = new WorkbookSettings();
//设置国家语言
Locale locale = new Locale("xx", "CN");
setting.setLocale(locale);
setting.setEncoding("UTF-8");
work = Workbook.createWorkbook(os, setting);
//表
WritableSheet sheet = work.createSheet(sheetName,1);
//定义标签
Label label = null;
//标题栏
String[] headers ={ "666", "888", "55", "44", "1", "11"};
//用标题数组的长度,定义列的多少
int colSize = headers.length;
int temp = 0;
//定义列的内容
String colName = null;
for (int i = 0; i < colSize; i++) {
colName = headers[i];
if (null == colName || "".equals(colName))
colName = " ";
label = new jxl.write.Label(i, 0, colName);
sheet.addCell(wlabel);
temp = columnWidths[i].intValue();
// 默认设置列宽
temp = temp == 0 ? 15 : temp;
sheet.setColumnView(i, temp);
}
for (int i = 0; i < list.size(); i++) {
Map<String,Object> maps = list.get(i);
//给标签 赋值
wlabel = new jxl.write.Label(0, (i + 1), maps.get("fid")==null?"":maps.get("fid").toString() + " ");
//把标签的内容填充到单元格内
sheet.addCell(wlabel);
String type = maps.get("type").toString();
switch(type){
case "0":
type = "UUID转账";
break;
case "1":
type = "钱包地址转账";
break;
default:
type = " ";
938b
break;
}
label = new jxl.write.Label(4, (i + 1), type);
sheet.addCell(wlabel);
label = new jxl.write.Label(5, (i + 1), maps.get("createTime")==null?"":maps.get("createTime").toString() + " ");
sheet.addCell(wlabel);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
//关闭流
work.write();
work.close();
os.flush();
os.close();
} catch (IOException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
List<Map<String,Object>> list = xxxxxxx;
//列的宽度数组
Integer[] columnWidths = new Integer[] { 15, 15, 15, 15, 15, 15};
//定义输出流
OutputStream os = null;
//创建工作簿
WritableWorkbook work = null;
try {
//下载时的提示的文件名
String excelName = "表.xls";
//设置内容类型
response.setContentType("APPLICATION/OCTET-STREAM");
//设置消息头
response.setHeader("Content-Disposition", "attachment; filename="
+ URLEncoder.encode(excelName, "UTF-8"));
//获取输出流
os = response.getOutputStream();
//定义表名
String sheetName = "转账记录表";
WorkbookSettings setting = new WorkbookSettings();
//设置国家语言
Locale locale = new Locale("xx", "CN");
setting.setLocale(locale);
setting.setEncoding("UTF-8");
work = Workbook.createWorkbook(os, setting);
//表
WritableSheet sheet = work.createSheet(sheetName,1);
//定义标签
Label label = null;
//标题栏
String[] headers ={ "666", "888", "55", "44", "1", "11"};
//用标题数组的长度,定义列的多少
int colSize = headers.length;
int temp = 0;
//定义列的内容
String colName = null;
for (int i = 0; i < colSize; i++) {
colName = headers[i];
if (null == colName || "".equals(colName))
colName = " ";
label = new jxl.write.Label(i, 0, colName);
sheet.addCell(wlabel);
temp = columnWidths[i].intValue();
// 默认设置列宽
temp = temp == 0 ? 15 : temp;
sheet.setColumnView(i, temp);
}
for (int i = 0; i < list.size(); i++) {
Map<String,Object> maps = list.get(i);
//给标签 赋值
wlabel = new jxl.write.Label(0, (i + 1), maps.get("fid")==null?"":maps.get("fid").toString() + " ");
//把标签的内容填充到单元格内
sheet.addCell(wlabel);
String type = maps.get("type").toString();
switch(type){
case "0":
type = "UUID转账";
break;
case "1":
type = "钱包地址转账";
break;
default:
type = " ";
938b
break;
}
label = new jxl.write.Label(4, (i + 1), type);
sheet.addCell(wlabel);
label = new jxl.write.Label(5, (i + 1), maps.get("createTime")==null?"":maps.get("createTime").toString() + " ");
sheet.addCell(wlabel);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
//关闭流
work.write();
work.close();
os.flush();
os.close();
} catch (IOException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
相关文章推荐
- 使用jquery插件 jquery.table2excel.js 将页面中的表格下载到本地(excel格式)
- java、Extjs导出数据库里的数据至Excel并下载至本地进行数据备份方法之二——使用Action
- net控件中数据导到Excel的格式 首先,我们了解一下excel从web页面上导出的原理。当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取它,所以把mime类型设为:application/vnd.ms-excel,当excel读取文件时会以每个cell的格式呈现数据,如果cell没有规定的格式,则excel会以默认的格式去呈现该cell的数据。这样就给我们提供了自定义数据格式的空间,当然我们必须使用excel支持的格式。下面就列出常用的一些格式: 1) 文本
- 使用JS代码把WEB页面的数据导入Excel,代码如下:
- java、Extjs导出数据库里的数据至Excel并下载至本地进行数据备份方法之一——使用servlet
- Java导出页面数据或数据库数据至Excel文件并下载,采用JXL技术,小demo(servlet实现)
- Java 使用jxl.jar 导入导出Excel数据
- Web页面的数据导出excel时的格式问题
- 使用WebRequest下载xml数据!
- 在 Web 页面中使用图表(chart)表现数据
- 使用ADO.net转换数据到Excel格式并提供下载
- Web页面报错: Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用.
- 使用JavaScript将Web页面内容导出到Word、Excel
- 实现各种文件的下载方法:用于 WEB上的报表导出(jxl 实现Excel报表下载),核心思想就是将文件的输出流传给HttpResponseOutputStream 里就成了。
- ASP.NET基础教程-Web 自定义控件的使用-根据属性值从数据库中提取数据并在页面上自动生成一个表格
- Web页面的数据导出excel时的格式问题
- 使用ADO.net转换数据到Excel格式并提供下载 (转)
- Web页面的数据导出excel时的格式问题
- 使用ADO.net将数据导出到Excel并提供下载
- Web 中将DataSet的内容下载到本地EXCEL格式文件