本人新人,求解答关于excel导出问题
在做导出excel的时候,我发现了一个问题 客户端点导出按钮,把导出的东西都导在了服务器端的C盘而不是客户端的c盘,所以想问问大家应该怎么改这段代码。谢谢大家 ,请踊跃参与。String fileName = "c:/"+new Date().getTime()+".xls";//导出excel的路径Excel --------------------编程问答-------------------- web导出吗?是的话,把输出流发送给客户端呗! --------------------编程问答-------------------- 你的程序在服务端,这样肯定认为是服务端的C盘。你可以直接往客户端写,然后手动在客户端选择保存到某个路径。 --------------------编程问答-------------------- // 新建一输出文件流
//抬头固定
ExpLib p1=new ExpLib("exp_id", "exp_name", "exp_sex", "exp_college", "exp_educational", "exp_workplace", "exp_telephone", "exp_address", "exp_resources", "exp_wastetype", "exp_newproduct", "exp_addrdetail", "exp_special", "exp_professional", "exp_newproductname", "exp_prodescription", "exp_no","exp_type");
Vector<ExpLib> content = new Vector<ExpLib>();//新建一个vector的集合 长度不限
content.add(p1); //将抬头放入集合里
Map map=new HashMap();
WritableWorkbook wwb;
FileOutputStream fos;
try {
List<ExpLib> explibs=expLibService.selectByMap(map);
for (ExpLib expLib : explibs) {
if ("1".equals(expLib.getExp_sex())) {
expLib.setExp_sex("男");
}else if ("2".equals(expLib.getExp_sex())) {
expLib.setExp_sex("女");
}{
expLib.setExp_sex("不男不女");
}
ExpLib p=new ExpLib(expLib.getExp_id(), expLib.getExp_name(), expLib.getExp_sex(), expLib.getExp_college(), expLib.getExp_educational(), expLib.getExp_workplace(), expLib.getExp_telephone(), expLib.getExp_address(), expLib.getExp_resources(), expLib.getExp_wastetype(), expLib.getExp_newproduct(), expLib.getExp_addrdetail(), expLib.getExp_special(), expLib.getExp_professional(), expLib.getExp_newproductname(), expLib.getExp_prodescription(), expLib.getExp_no(),expLib.getExp_type());
content.add(p);
}
fos = new FileOutputStream(fileName);
wwb = Workbook.createWorkbook(fos);
WritableSheet ws = wwb.createSheet("专家表", 10); // 创建一个工作表
// 设置单元格的文字格式
WritableFont wf = new WritableFont(WritableFont.ARIAL,12,WritableFont.NO_BOLD,false,
UnderlineStyle.NO_UNDERLINE,Colour.BLUE);
WritableCellFormat wcf = new WritableCellFormat(wf);
wcf.setVerticalAlignment(VerticalAlignment.CENTRE);
wcf.setAlignment(Alignment.CENTRE);
ws.setRowView(0, 0);
ws.setColumnView(0, 50);
ws.setColumnView(1, 50);
ws.setColumnView(2, 50);
ws.setColumnView(3, 50);
ws.setColumnView(4, 50);
ws.setColumnView(5, 50);
ws.setColumnView(6, 50);
ws.setColumnView(7, 50);
ws.setColumnView(8, 50);
ws.setColumnView(9, 50);
ws.setColumnView(10, 50);
ws.setColumnView(11, 50);
ws.setColumnView(12, 50);
ws.setColumnView(13, 50);
ws.setColumnView(14, 50);
ws.setColumnView(15, 50);
ws.setColumnView(16, 50);
ws.setColumnView(17, 50);
ws.setColumnView(18, 50);
// 填充数据的内容
ExpLib[] p = new ExpLib[content.size()];
for (int i = 0; i < content.size(); i++){
p[i] = (ExpLib)content.get(i);
ws.addCell(new Label(0, i + 1, p[i].getExp_id(), wcf));
ws.addCell(new Label(1, i + 1, p[i].getExp_name(), wcf));
ws.addCell(new Label(2, i + 1, p[i].getExp_sex(), wcf));
ws.addCell(new Label(3, i + 1, p[i].getExp_college(), wcf));
ws.addCell(new Label(4, i + 1, p[i].getExp_educational(), wcf));
ws.addCell(new Label(5, i + 1, p[i].getExp_workplace(), wcf));
ws.addCell(new Label(6, i + 1, p[i].getExp_telephone(), wcf));
ws.addCell(new Label(7, i + 1, p[i].getExp_address(), wcf));
ws.addCell(new Label(8, i + 1, p[i].getExp_resources(), wcf));
ws.addCell(new Label(9, i + 1, p[i].getExp_wastetype(), wcf));
ws.addCell(new Label(10, i + 1, p[i].getExp_newproduct(), wcf));
ws.addCell(new Label(11, i + 1, p[i].getExp_addrdetail(), wcf));
ws.addCell(new Label(12, i + 1, p[i].getExp_special(), wcf));
ws.addCell(new Label(13, i + 1, p[i].getExp_professional(), wcf));
ws.addCell(new Label(14, i + 1, p[i].getExp_newproductname(), wcf));
ws.addCell(new Label(15, i + 1, p[i].getExp_prodescription(), wcf));
ws.addCell(new Label(16, i + 1, p[i].getExp_no(), wcf));
ws.addCell(new Label(17, i + 1, p[i].getExp_type(), wcf));
if(i == 0)
wcf = new WritableCellFormat();
}
wwb.write();
wwb.close();
System.out.println("成功导出数据到Excel文件(" + fileName + ")了!!!");
} catch (Exception e){}
}
FileOutputStream fOut = new FileOutputStream(file);
// 把相应的Excel 工作簿存盘
workbook.write(fOut);
fOut.flush();
// 操作结束,关闭文件
fOut.close();
变量workbook是你创建的excel,file是路径就可以保存到本地磁盘中了 --------------------编程问答-------------------- 怎么可能保存到客户端的C盘,可以用流的方式,客户想保存到哪就保存到哪。 --------------------编程问答-------------------- 我导出excel用的是poi,如果想用poi我有例子
补充:Java , Java EE