题
我出口Excel文件与DisplayTag.它将保存作为一个。xls文件到我的桌面上。当我打开它使用Excel的,这种错误显示:
"本文件试图打开'filename.xls',是在一个不同的格式指定的文件的扩展。验证的文件是不破坏,而是从可信来源之前,打开文件。"
如果我点击"是",这显示就好了,在Excel。如果我打开这与Textpad,我看到它是二进制文件,但它似乎只是"."分隔的弦。
任何想法什么我可能做了错误的,或如何下调试这个吗?
编辑::
如果我改变扩展。txt,这不是二进制文件;它只是一个列表中的分隔串。
解决方案 2
为Excel的默认出口类被设置为CSV类,但给它.xls扩展。在此更改displaytag.properties是关键,是这样的:
export.types=csv excel xml rtf pdf
export.excel=true
export.xml=true
export.csv=true
export.rtf=false
export.pdf=false
export.excel.class=org.displaytag.export.excel.DefaultHssfExportView
export.pdf.class=org.displaytag.export.DefaultPdfExportView
export.rtf.class=org.displaytag.export.DefaultRtfExportView
export.excel.filename=data.xls
export.pdf.filename=data.pdf
export.xml.filename=data.xml
export.csv.filename=data.csv
export.rtf.filename=data.rtf
其他提示
你在Excel2007?似乎是一个 知 问题:
在某些情况下,升级后的Excel 2007年,你可以得到的以下错误:本文件试图打开的。您 是在一个不同的格式 指定的文件的扩展。验证的文件是不损坏和 是从可信来源开口之前 该文件。你想开放的文件 现在呢?
这一错误的特别发生时当你在打开一个XLS文件(Excel2000-2003年)与Excel2007年。在大多数情况下,问题是可以解决的定义MIME类型,并将它们与扩展。
...
但是,如果你不想要寻找一个解决方案,但只是想要解决的问题,插入这一关键在你的注册表,以抑制通知:
[注册表\软件\微软\办事处\12.0\Excel\安全]"ExtensionHardening"=双字:00000000
你可以完成上述做如下:
- 打开你的注册表(开>行> regedit.exe)
- 导航 注册表\软件\微软\办事处\12.0\EXCEL\安全
- 右击中右侧窗口 选择 新的 -> 双字
- 类型"ExtensionHardening"为 姓名(没有引号)
- 验证数据的价值 "0″
您需要在您的属性文件中添加以下行:
export.excel.class=org.displaytag.export.excel.DefaultHssfExportView
export.pdf.class=org.displaytag.export.DefaultPdfExportView
但这种输出的当前页的记录,而不是完整的清单。
不隶属于 StackOverflow