前几天完成统计报告的时候用到将数据导出的EXCEL的功能,生成报表后,无法实现中文文件名的保存。
Response.AddHeader("content-disposition", "attachment;filename=report.xls");
如果要使用包含中文文件名需要使用
Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode("中文名称") + ".xls");
来实现,此时在IE的客户端可以正常显示中文文件名。
此时客户端弹出的对话框中有“打开”、“保存”、“取消”如果选择保存,则可以将报表保存为正确中文名称的EXCEL文件,但如果选择打开,IE提示无法找到“××××××”文件,说明这个中文临时文件名称和保存的名称不一致,无法直接打开。各有利弊,各位自己取舍吧。