truth99 2013-01-18 17:27 采纳率: 0%
浏览 334
已采纳

struts2 导出excel后 打开提示“扩展名文件格式不一致”问题

下面是我的代码

[code="html"]

导出

[/code]
struts.xml配置:
[code="xml"]



true
application/vnd.ms-excel;charset=GBK
excelStream
attachment;filename=${fileName}
20480



[/code]
[code="java"]
package com.truth99.action;

import java.io.ByteArrayInputStream;
import java.io.InputStream;

public class UserAction{

private InputStream excelStream;
private String fileName = "golf.xls";//导出excel

public String exportExcel(){
try{
StringBuffer sb = new StringBuffer();
sb.append("title1").append("\t").append("title2").append("\n");
//\t表示下一列,\n表示下一行
//导入的数据进行迭代,拼成字符串
for(;;){
sb.append("content1").append("\t").append("content2").append("\n");
}
//将字符串放入流中
excelStream = new ByteArrayInputStream(sb.toString().getBytes("GBK"), 0, sb.toString().getBytes("GBK").length);
}catch(Exception e){
}
return "excel";
}
public InputStream getExcelStream() {
return excelStream;
}
public void setExcelStream(InputStream excelStream) {
this.excelStream = excelStream;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
}
[/code]
打开后提示

[img]http://dl.iteye.com/upload/picture/pic/122710/aba33696-0451-31f2-884c-882e4061081d.jpg[/img]

哪位大神帮忙解决一下。

  • 写回答

3条回答 默认 最新

  • jinbingchuan 2013-01-22 22:23
    关注

    像生成word、excel这类的文件,不是把后缀名改好之后就可以了,需要有第三方的框架来进行处理,就好比你把一个txt的文件直接把后缀名字改为excel的后缀名,你那样是打不开的,会报错误处理。
    可以看下 poi或者是jxl这些专门处理excel的文档。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效