1、用html格式的页面下载时
项目中数据导出使用的是生成标准的html页面,用table的方式显示数据,然后设置头信息:
response.setHeader("Content-Disposition","inline;filename=\""+fileName+".xls\"");
response.setContentType("application/vnd.ms-excel");
来实现下载。
遇到的问题是,如果数据中有比较大的数字,如18位身份证号码,就会把后三位显示成000。
解决办法是:
在html页面中定义td的样式,如下:
<style>
td{
mso-number-format:'\@';
}
</style>
即可显示正常。
2、用pl/sql导出时
另外,如果用pl/sql导出,可以直接选择“复制到Excel”选项,如果没有安装Excel,可以选择导出XML,然后在Excel中选择“数据”-〉“导入外部数据”-〉“导入数据”,选择刚才选择的xml文件,点击两个确定就能导入了。这两种方式都可以避免大数字不准确的问题。