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 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘