请教如果在jsp中读取客户端的excel文件中的数据?急呀!高手们救命呀!

wangnanwn 2004-07-17 01:30:37
我要调用JExcelApi 读取用户在客户端选择的Excel中的文件中的数据,
我是这样做的:
首先做一个页面upLoadExcel.jsp让用户选择本地的Excel文件,我就是用的上传的那个页面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML><HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="MSHTML 5.00.2920.0" name=GENERATOR></HEAD>
<BODY bgColor=#e6e6e6><BR>
<FORM action="upToDataBase.jsp" encType=multipart/form-data method=post>
<TABLE>
<TBODY>
<TR>
<TD><FONT color=#000000 face=helv,helvetica size=1>  File : </FONT>  <INPUT size=60 type=file name="file">
</TD>
</TR>
<TR>
<TD align=right><INPUT type=submit value=Send name="send">
</TD>
</TR>
</TBODY>
</TABLE>
</FORM>
</BODY>
</HTML>

而在upToDataBase.jsp 中:读取那输入流
InputStream ins = request.getInputStream();
Workbook workbook = Workbook.getWorkbook(ins);
我在看jExcel Api tutorial 时,在创建Workbook时上面说必须要去除Http头
原文如下:
(NOTE: when creating a spreadsheet from a ServletInputStream you must remove the HTTP header information before creating the Workbook object.)

我想请问各位高手们如何去除该InputStream 中的 HTTP header ?或者告诉
我用其他的办法实现读取客户端的excel文件?
请大家多多帮忙呀!谢谢!



...全文
425 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangnanwn 2004-07-19
  • 打赏
  • 举报
回复
该问题自己已经解决,
ServletInputStream is = request.getInputStream();
byte[] junk = new byte[1024];
int bytesRead = 0;
// shou首先除去Http Head
bytesRead = is.readLine(junk, 0, junk.length);
bytesRead = is.readLine(junk, 0, junk.length);
bytesRead = is.readLine(junk, 0, junk.length);
bytesRead = is.readLine(junk, 0, junk.length);
Workbook workbook = Workbook.getWorkbook(is);
.....

但还是要感谢大家的热心,谢谢!
wangnanwn 2004-07-19
  • 打赏
  • 举报
回复
该问题自己已经解决,
ServletInputStream is = request.getInputStream();
byte[] junk = new byte[1024];
int bytesRead = 0;
// shou首先除去Http Head
bytesRead = is.readLine(junk, 0, junk.length);
bytesRead = is.readLine(junk, 0, junk.length);
bytesRead = is.readLine(junk, 0, junk.length);
bytesRead = is.readLine(junk, 0, junk.length);
Workbook workbook = Workbook.getWorkbook(is);
.....
wangnanwn 2004-07-19
  • 打赏
  • 举报
回复
该问题自己已经解决,
ServletInputStream is = request.getInputStream();
byte[] junk = new byte[1024];
int bytesRead = 0;
// shou首先除去Http Head
bytesRead = is.readLine(junk, 0, junk.length);
bytesRead = is.readLine(junk, 0, junk.length);
bytesRead = is.readLine(junk, 0, junk.length);
bytesRead = is.readLine(junk, 0, junk.length);
Workbook workbook = Workbook.getWorkbook(is);
.....
kkcncry 2004-07-18
  • 打赏
  • 举报
回复
呵呵 我实现过~~用response.getOutputstream()好象里面有两个参数 其中将一个参数做为你的文件的名字传进去~这样在客户端保存的时候就能将 EXCEL文件提交到客户端 不过POI这个开发包不太好至于为什么不好我也不编多说当时我是用 POI 和JXL混合才实现的 ~本想给你发个原代码
但是我的机器硬盘费了 代码考不出来了~~555555提供个思路关键就是 用response.getOutputstream()返回一个留对象,用这个个留对象初始化你的EXCEL表单
new outpoutstream("a.xls")不知道你明不明白~
csdnluhao 2004-07-18
  • 打赏
  • 举报
回复
upToDataBase.jsp
是怎么写?
朋友别哭 2004-07-17
  • 打赏
  • 举报
回复
关注
jcw2016 2004-07-17
  • 打赏
  • 举报
回复
传上去后,也可以定义ODBC数据源,用JDBC-ODBC桥来读其中的数据。
chancelin 2004-07-17
  • 打赏
  • 举报
回复
smart upload可以帮你上传文件
wangnanwn 2004-07-17
  • 打赏
  • 举报
回复
高手们快救命呀!
wangnanwn 2004-07-17
  • 打赏
  • 举报
回复
不好意思题目都打错了,是如何在jsp中读取客户端的excel文件中的数据
wangnanwn 2004-07-17
  • 打赏
  • 举报
回复
我试了一下在我没有去除HTTP header 时会出现jxl.read.biff.BiffException:
Unable to recognize OLE stream

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧