乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > java项目中怎么实现<em>jsp</em>页面Excel模板下载并弹框

java项目中怎么实现<em>jsp</em>页面Excel模板下载并弹框

作者:乔山办公网日期:

返回目录:excel表格制作


1。通过jsp页面接收上传的excel文件到后台,
2,后台使用java连接数据库
3.将excel文件通过io文件控制流读入,然后使用jdbc写入到数据库

controller层关键代码:
@RequestMapping(value = "/excel")
e799bee5baa6e79fa5e98193e59b9ee7ad94338public ModelAndView exportExcel() throws Exception {

ModelAndView mv = new ModelAndView();
PageData pd = new PageData();
pd = this.getPageData();
Map<String, Object> dataMap = new HashMap<String, Object>();

List<String> titles = new ArrayList<String>();
titles.add("办事处"); // 1
titles.add("当日新增扫码商户(个)"); // 2
titles.add("当日交易笔数(笔)"); // 3
titles.add("当日交易金额"); // 4
titles.add("当日收益"); // 5
titles.add("累计新增扫码商户(个)"); // 6
titles.add("累计交易笔数(笔)"); // 7
titles.add("累计交易金额"); // 8
titles.add("累计收益"); // 9

dataMap.put("titles", titles);
Page page = new Page();
page.setPd(pd);
List<PageData> varOList = agencyService.list(page);
List<PageData> varList = new ArrayList<PageData>();
for (int i = 0; i < varOList.size(); i++) {
PageData vpd = new PageData();
vpd.put("var1", varOList.get(i).get("AGENCYNAME").toString()); // 1
vpd.put("var2", varOList.get(i).get("TODAYINSTALL").toString()); // 2
vpd.put("var3", varOList.get(i).get("TODAYTRANS").toString()); // 3
vpd.put("var4", varOList.get(i).get("TODAYPRICE").toString()); // 4
vpd.put("var5", varOList.get(i).get("TODAYPAYMENT").toString()); // 5
vpd.put("var6", varOList.get(i).get("TOTALINSTALL").toString()); // 6
vpd.put("var7", varOList.get(i).get("TOTALTRANS").toString()); // 7
vpd.put("var8", varOList.get(i).get("TOTALPRICE").toString()); // 8
vpd.put("var9", varOList.get(i).get("TOTALPAYMENT").toString()); // 9
varList.add(vpd);
}
dataMap.put("varList", varList);
ObjectExcelView erv = new ObjectExcelView();
mv = new ModelAndView(erv, dataMap);
return mv;
}

POI生成EXCEL关键代码:
public class ObjectExcelView extends AbstractExcelView{

@SuppressWarnings("deprecation")
@Override
protected void buildExcelDocument(Map<String, Object> model,
HSSFWorkbook workbook, HttpServletRequest request,
HttpServletResponse response) throws Exception {
// TODO Auto-generated method stub
Date date = new Date();
String filename = Tools.date2Str(date, "yyyyMMddHHmmss");
HSSFSheet sheet;
HSSFCell cell;
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename="+filename+".xls");
sheet = workbook.createSheet("sheet1");

List<String> titles = (List<String>) model.get("titles");
int len = titles.size();
HSSFCellStyle headerStyle = workbook.createCellStyle(); //标题样式
headerStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
headerStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
HSSFFont headerFont = workbook.createFont(); //标题字体
headerFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
headerFont.setFontHeightInPoints((short)11);
headerStyle.setFont(headerFont);
short width = 20,height=25*20;
sheet.setDefaultColumnWidth(width);
for(int i=0; i<len; i++){ //设置标题
String title = titles.get(i);
cell = getCell(sheet, 0, i);
cell.setCellStyle(headerStyle);
setText(cell,title);
}

sheet.getRow(0).setHeight(height);

HSSFCellStyle contentStyle = workbook.createCellStyle(); //内容样式
contentStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
List<PageData> varList = (List<PageData>) model.get("varList");
int varCount = varList.size();
for(int i=0; i<varCount; i++){
PageData vpd = varList.get(i);
for(int j=0;j<len;j++){
String varstr = vpd.getString("var"+(j+1)) != null ? vpd.getString("var"+(j+1)) : "";
cell = getCell(sheet, i+1, j);
cell.setCellStyle(contentStyle);
setText(cell,varstr);
}

}

}

}

你这个问题应该是java导入excel文件吧...
jsp选择就是 <input type="file">
有一点需要注意.就是form要设置 multipart

至于java后台代码嘛..普遍都是poi.读取excel..网上的例子一大把.

1.创建excel文件//这里的jxl不是java的标准jar包,需要在项目中另外加载e69da5e6ba90e799bee5baa6330import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; public class ExcelDownload extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 生成xls try { Date d = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_kkmmss "); String random = sdf.format(d); String targetFile = random + ".excel"; response.setContentType("application/vnd.ms-excel"); response.addHeader("Content-Disposition", "attachment; filename=\"" + targetFile + "\""); OutputStream os = response.getOutputStream(); WritableWorkbook wwb = Workbook.createWorkbook(os); // 新建一张表 WritableSheet wsheet = wwb.createSheet("record", 0); // 设置表头 Label label = new Label(0, 0, ""); wsheet.addCell(label); label = new Label(0, 0, "会员姓名"); wsheet.addCell(label); label = new Label(1, 0, "卡号"); wsheet.addCell(label); label = new Label(2, 0, "联系地址"); wsheet.addCell(label); label = new Label(3, 0, "邮编"); wsheet.addCell(label); label = new Label(4, 0, "联系电话"); wsheet.addCell(label); label = new Label(5, 0, "手机"); wsheet.addCell(label); label = new Label(6, 0, "Email"); wsheet.addCell(label); label = new Label(7, 0, "性别"); wsheet.addCell(label); wwb.write(); wwb.close(); os.close(); response.flushBuffer(); } catch (Exception e) { System.out.println("生成信息表(Excel格式)时出错:"); e.printStackTrace(); } } }

相关阅读

  • -jsp打印excel,jsp直接展现excel

  • 乔山办公网excel表格制作
  • 因为ms word和excel的文档都支持html文本格式,因此可以先用word或excel做好模版,另存为Web页,然后将该html改成jsp,将数据部分动态填入即可,不用很辛苦的调整格式 word页面只要在jsp头设
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网