我出口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

你可以完成上述做如下:

  1. 打开你的注册表(开>行> regedit.exe)
  2. 导航 注册表\软件\微软\办事处\12.0\EXCEL\安全
  3. 右击中右侧窗口 选择 新的 -> 双字
  4. 类型"ExtensionHardening"为 姓名(没有引号)
  5. 验证数据的价值 "0

您需要在您的属性文件中添加以下行:

export.excel.class=org.displaytag.export.excel.DefaultHssfExportView
export.pdf.class=org.displaytag.export.DefaultPdfExportView

但这种输出的当前页的记录,而不是完整的清单。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top