网站建设知识

我们将想法与焦点与您一起共享

当前位置:深圳网站建设 > 新闻中心> java网站建设导出excel表格方法

java网站建设导出excel表格方法

2018-8-1 11:11:50 独占网络 新闻中心
深圳网站建设公司,一般会使用asp.net,java,php做网站底层开发,由于网站使用过程中,会产生大量数据,这些数据包含留言信息,或者新闻信息,由于我们今天是做java网站建设,来开发网站,所以我们就来讲一下java导出excel表格的方法。

1、准备工作,下载且导入poi.jar
由于我们今天讲的导出excel表格的方法是使用第三方jar来导出的,所以需要先导入第三方poi.jar包。

2、制作导出excel的方法
public static HSSFWorkbook getHSSFWorkbook(String sheetName,
String[] title, ArrayList<ArrayList<TableInfo>> list,
HSSFWorkbook wb) {

// 第一步,创建一个HSSFWorkbook,对应一个Excel文件
if (wb == null) {
wb = new HSSFWorkbook();
}

// 第二步,在workbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet(sheetName);

// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制
HSSFRow row = sheet.createRow(0);

// 第四步,创建单元格,并设置值表头 设置表头居中
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式

// 声明列对象
HSSFCell cell = null;

// 创建标题
for (int i = 0; i < title.length; i++) {
cell = row.createCell(i);
cell.setCellValue(title[i]);
cell.setCellStyle(style);
}

int i = 0;

        //判断是否有内容
if (list != null) { 
// 创建内容
for (ArrayList<TableInfo> mlist : list) {
                //得到行号
row = sheet.createRow(i + 1);
                //循环所有信息
for (TableInfo model : mlist) {

if (model.getName().equals("subject")) {
                        //向行号插入信息
row.createCell(0).setCellValue(model.getValue());
} else if (model.getName().equals("name")) {

row.createCell(1).setCellValue(model.getValue());
} else if (model.getName().equals("sex")) {

row.createCell(2).setCellValue(model.getValue());
} else if (model.getName().equals("birdate")) {

row.createCell(3).setCellValue(model.getValue());
} else if (model.getName().equals("company")) {

row.createCell(4).setCellValue(model.getValue());
} else if (model.getName().equals("position")) {

row.createCell(5).setCellValue(model.getValue());
} else if (model.getName().equals("tel")) {

row.createCell(6).setCellValue(model.getValue());
}else if (model.getName().equals("email")) {

row.createCell(7).setCellValue(model.getValue());
} else if (model.getName().equals("address")) {

row.createCell(8).setCellValue(model.getValue());
}

}
i++;
}
}

// 让列宽随着导出的列长自动适应
for (int colNum = 0; colNum < 9; colNum++) {
int columnWidth = sheet.getColumnWidth(colNum) / 256;
for (int rowNum = 0; rowNum < sheet.getLastRowNum(); rowNum++) {
HSSFRow currentRow;
// 当前行未被使用过
if (sheet.getRow(rowNum) == null) {
currentRow = sheet.createRow(rowNum);
} else {
currentRow = sheet.getRow(rowNum);
}
if (currentRow.getCell(colNum) != null) {
HSSFCell currentCell = currentRow.getCell(colNum);
if (currentCell.getCellType() == HSSFCell.CELL_TYPE_STRING) {
int length = currentCell.getStringCellValue()
.getBytes().length;
if (columnWidth < length) {
columnWidth = length;
}
}
}
}
if (colNum == 0) {
sheet.setColumnWidth(colNum, (columnWidth - 2) * 256);
} else {
sheet.setColumnWidth(colNum, (columnWidth + 4) * 256);
}
}
return wb;
}

3、第三步下载信息
public void setResponseHeader(HttpServletResponse response, String fileName) {
try {
try {
fileName = new String(fileName.getBytes(), "ISO8859-1");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
response.setContentType("application/octet-stream;charset=ISO8859-1");
response.setHeader("Content-Disposition", "attachment;filename="
+ fileName);
response.addHeader("Pargam", "no-cache");
response.addHeader("Cache-Control", "no-cache");
} catch (Exception ex) {
ex.printStackTrace();
}
}
通过上面两个方法我们就可以制作java网站建设导出excel表格的功能。
java网站建设,asp.net网站建设,可以优先选择独占网络,专业,技术开发能力强。
始终专注高端网站建设服务 网站建设案例服务方案联系

联系我们

135-3000-5572
151-1257-9390

地址:深圳市龙岗区横岗街道联旺大厦5楼

邮箱:chenmh@sz886.com

我们的优势

12年建站服务经验自主开发后台CMS开发项目不外包无隐形收费

服务198家上市企业服务行业龙头超过70家 营销型网站建设完备的项目流程管理体系网页设计与网站开发技术并重

关于独占网络

十多年来,凭借对设计的深刻理解,对互联网营销趋势的敏锐洞察,独占网络不断修正服务导向,完善创作品格,始终注重专业探索,为所有合作企业机构全力以赴,确保网站的视觉体验与营销转化能力。

我们是一群对互联网抱有执着信念的技术控。从2012年到现在,公司从未建过强大的营销团队,却凭着作品与服务不断保持增长,做到了"桃李不言,下自成蹊。" 我们坚信:每个客户都是一条渠道,每个案例都是一个广告,为企业插上翅膀,助力企业转型升级,我们已做好准备。

专业团队为您提供深圳网站建设、深圳网站制作、深圳营销型网站建设、外贸网站建设等服务,深圳建网站就找独占网络 | 12年专注网站建设

深圳市独占网络科技有限公司 |备案号:粤ICP备15007128| Copyright 2023,ALL Rights Reserved www.sz886.com | Copyright 2023版权所有
Hi,Are you ready? 如果您有意向
请于我们取得联系。

有一个互联网项目想和我们谈谈吗?
您可以填写右边的表格,让我们了解您的项目需求,这是一个良好的开始,我们将会尽快与你取得联系。当然也欢迎您给我们写信或是打电话,让我们听到你的声音!

独占-整合互联网营销

地址:深圳市龙岗区横岗地铁D出口联旺大厦5楼
大客户专线:深圳 13530005572
售前QQ:1447567909
E-mail: sales@sz886.cn

合作意向表
您希望我们为您提供什么服务?