当前位置:编程学习 > JAVA >>

Struts2 SqlServer数据库去image字段生成excel 求解答

数据库里有image字段 里面存放着excel的二进制文件

需要取出来放到tomcat web工程里的down文件夹下

然后通过前台提供下载

希望大神们赐予我代码,麻烦了,弄了两天都没弄明白 --------------------编程问答-------------------- 补充下  文件大约十几M的样子 不算小也不算大 --------------------编程问答-------------------- 从书库读取 都是一样的嘛~~ select 呗!
提供下载 那就直接用struts2的下载!!! --------------------编程问答-------------------- 关键中间有个二进制流的转换过程 我搞不明白啊
引用 2 楼 gavin_ts 的回复:
从书库读取 都是一样的嘛~~ select 呗!
提供下载 那就直接用struts2的下载!!!
--------------------编程问答-------------------- 顶一下 求代码 --------------------编程问答--------------------

package com.test;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import com.util.DButil;

public class DownImpl {
private Connection conn;
DButil db = new DButil();
public DownBean find() {
try {
conn = db.openConnection();

String sql = "select 试验文件  from 试验数据 where 试验ID = 5";

PreparedStatement pstat = conn.prepareStatement(sql);
ResultSet rs = pstat.executeQuery();
while(rs.next()){
// Blob blob = (Blob)rs.getBlob(1);
InputStream in  = rs.getBinaryStream(1);
FileOutputStream out = new FileOutputStream(new File("c://11.xls"));
byte[] bb = new byte[51200000];
int i;
while((i=in.read(bb))!=-1){
out.write(bb);
}
out.close();
in.close();
}
conn.commit();
} catch (Exception e) {
// TODO Auto-generated catch block    ("试验文件")
e.printStackTrace();
}finally{
try {
conn.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}
}



我这块的代码  会固定生成byte[51200000]大的.xls文件,但里面没有内容  求解答
补充:Java ,  Web 开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,