如何在jsp中打开Word,Excel文件?文件名称会是中文的

ksxm 2005-04-18 04:31:04
如果直接打入网址打开的话倒是没有问题,但是碰到中文就不行了
服务器为Tomcat 5.0
...全文
1390 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
congliu 2005-09-01
  • 打赏
  • 举报
回复
java操作word详解,并且有开发包下载

http://www.chinajavalab.com/cgi-bin/topic.cgi?forum=1&topic=46
  • 打赏
  • 举报
回复
有个办法:把所有文件的名字存到数据库中,要显示的时候使用它的英文别名生成另外一份就可以了,使用完在把生成的这份文件给删除掉.
ksxm 2005-04-28
  • 打赏
  • 举报
回复
自己顶一下
ksxm 2005-04-22
  • 打赏
  • 举报
回复
阿有好心人帮帮我,郁闷了N天了
ksxm 2005-04-20
  • 打赏
  • 举报
回复
转码文件?不知道怎么搞
ksxm 2005-04-19
  • 打赏
  • 举报
回复
怎么代替呀?
http://127.0.0.1:8080/filemag/text/电子信箱.xls

HTTP Status 404 - /filemag/text/%E7%94%B5%E5%AD%90%E4%BF%A1%E7%AE%B1.xls

--------------------------------------------------------------------------------

type Status report

message /filemag/text/%E7%94%B5%E5%AD%90%E4%BF%A1%E7%AE%B1.xls

description The requested resource (/filemag/text/%E7%94%B5%E5%AD%90%E4%BF%A1%E7%AE%B1.xls) is not available.


--------------------------------------------------------------------------------

Apache Tomcat/5.0.30
  • 打赏
  • 举报
回复
那你中文用unicode代替应该没问题吧?
ksxm 2005-04-19
  • 打赏
  • 举报
回复
To AreamArgentateOfWing(梦幻银翼):

你的方法已经使用,就是对于中文名称的文件无法访问,英文的没问题
ksxm 2005-04-19
  • 打赏
  • 举报
回复
To ZENGHUAJUN(浪儿):

不行呀,报错呀,是不是装什么东东

D:\Tomcat 5.0\webapps\files\filemag>javac -d . wordToHtml.java
wordToHtml.java:4: cannot resolve symbol
symbol : class File
location: class wordToHtml
File file = new File(paths);
^
wordToHtml.java:4: cannot resolve symbol
symbol : class File
location: class wordToHtml
File file = new File(paths);
^
wordToHtml.java:6: cannot resolve symbol
symbol : class ActiveXComponent
location: class wordToHtml
ActiveXComponent app = new ActiveXComponent("Word.Application"); //启动wor
d
^
wordToHtml.java:6: cannot resolve symbol
symbol : class ActiveXComponent
location: class wordToHtml
ActiveXComponent app = new ActiveXComponent("Word.Application"); //启动wor
d
^
wordToHtml.java:12: cannot resolve symbol
symbol : class Variant
location: class wordToHtml
app.setProperty("Visible", new Variant(false));
^
wordToHtml.java:15: cannot resolve symbol
symbol : variable Dispatch
location: class wordToHtml
Object doc = Dispatch.invoke(docs, "Open", Dispatch.Method,
^
wordToHtml.java:16: cannot resolve symbol
symbol : class Variant
location: class wordToHtml
new Object[] {inFile, new Variant(false),
^
wordToHtml.java:17: cannot resolve symbol
symbol : class Variant
location: class wordToHtml
new Variant(true)}
^
wordToHtml.java:15: cannot resolve symbol
symbol : variable Dispatch
location: class wordToHtml
Object doc = Dispatch.invoke(docs, "Open", Dispatch.Method,
^
wordToHtml.java:21: cannot resolve symbol
symbol : variable Dispatch
location: class wordToHtml
Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {tpFile,
^
wordToHtml.java:22: cannot resolve symbol
symbol : class Variant
location: class wordToHtml
new Variant(8)}
^
wordToHtml.java:21: cannot resolve symbol
symbol : variable Dispatch
location: class wordToHtml
Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {tpFile,
^
wordToHtml.java:24: cannot resolve symbol
symbol : class Variant
location: class wordToHtml
Variant f = new Variant(false);
^
wordToHtml.java:24: cannot resolve symbol
symbol : class Variant
location: class wordToHtml
Variant f = new Variant(false);
^
wordToHtml.java:25: cannot resolve symbol
symbol : variable Dispatch
location: class wordToHtml
Dispatch.call(doc, "Close", f);
^
wordToHtml.java:32: cannot resolve symbol
symbol : class Variant
location: class wordToHtml
app.invoke("Quit", new Variant[] {});
^
16 errors

D:\Tomcat 5.0\webapps\files\filemag>javac -d . ReadExcel.java
ReadExcel.java:35: cannot resolve symbol
symbol : class ActiveXComponent
location: class ReadExcel
ActiveXComponent app = new ActiveXComponent("Word.Application"); //启动wor
d
^
ReadExcel.java:35: cannot resolve symbol
symbol : class ActiveXComponent
location: class ReadExcel
ActiveXComponent app = new ActiveXComponent("Word.Application"); //启动wor
d
^
ReadExcel.java:41: cannot resolve symbol
symbol : class Variant
location: class ReadExcel
app.setProperty("Visible", new Variant(false));
^
ReadExcel.java:44: cannot resolve symbol
symbol : variable Dispatch
location: class ReadExcel
Object doc = Dispatch.invoke(docs, "Open", Dispatch.Method,
^
ReadExcel.java:45: cannot resolve symbol
symbol : class Variant
location: class ReadExcel
new Object[] {inFile, new Variant(false),
^
ReadExcel.java:46: cannot resolve symbol
symbol : class Variant
location: class ReadExcel
new Variant(true)}
^
ReadExcel.java:44: cannot resolve symbol
symbol : variable Dispatch
location: class ReadExcel
Object doc = Dispatch.invoke(docs, "Open", Dispatch.Method,
^
ReadExcel.java:50: cannot resolve symbol
symbol : variable Dispatch
location: class ReadExcel
Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {tpFile,
^
ReadExcel.java:51: cannot resolve symbol
symbol : class Variant
location: class ReadExcel
new Variant(8)}
^
ReadExcel.java:50: cannot resolve symbol
symbol : variable Dispatch
location: class ReadExcel
Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {tpFile,
^
ReadExcel.java:53: cannot resolve symbol
symbol : class Variant
location: class ReadExcel
Variant f = new Variant(false);
^
ReadExcel.java:53: cannot resolve symbol
symbol : class Variant
location: class ReadExcel
Variant f = new Variant(false);
^
ReadExcel.java:54: cannot resolve symbol
symbol : variable Dispatch
location: class ReadExcel
Dispatch.call(doc, "Close", f);
^
ReadExcel.java:61: cannot resolve symbol
symbol : class Variant
location: class ReadExcel
app.invoke("Quit", new Variant[] {});
^
14 errors

D:\Tomcat 5.0\webapps\files\filemag>













































  • 打赏
  • 举报
回复
文件名称不能使用中文。
如果你用的是sturts架构的,那你就在web.xml中加入:
<mime-mapping>
<extension>xls</extension>
<mime-type>application/msexcel</mime-type>
</mime-mapping>
能打开xls的文件。
ZENGHUAJUN 2005-04-19
  • 打赏
  • 举报
回复


先写一个类,类中包以下这个方法,该方法的参数传入word文件的物理路径,经传换成html后,就可以访问了!
如文件:aa.doc,转换后就有aa.html,直接访问这个aa.html就可以了
public static void wordToHtml(String paths) {
File file = new File(paths);
if (file.isFile()) {
ActiveXComponent app = new ActiveXComponent("Word.Application"); //启动word
String inFile = paths;
String tpFile = paths.substring(0, paths.lastIndexOf("."));
boolean flag = false;
try {
//设置word不可见
app.setProperty("Visible", new Variant(false));
Object docs = app.getProperty("Documents").toDispatch();
//打开word文件
Object doc = Dispatch.invoke(docs, "Open", Dispatch.Method,
new Object[] {inFile, new Variant(false),
new Variant(true)}
, new int[1]).toDispatch();

//作为html格式保存在临时文件
Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {tpFile,
new Variant(8)}
, new int[1]);
Variant f = new Variant(false);
Dispatch.call(doc, "Close", f);
flag = true;
}
catch (Exception e) {
e.printStackTrace();
}
finally {
app.invoke("Quit", new Variant[] {});
}
}
}
ksxm 2005-04-19
  • 打赏
  • 举报
回复
其实就是想做一个在线的文件管理程序,可是关于doc,xls的文件怎么显示不知道怎么做呀
  • 打赏
  • 举报
回复
将中文字符转码文件配置到tomcat-5.0.27\conf\web.xml下面试试.
  • 打赏
  • 举报
回复
将中文字符转码写到tomcat-5.0.27\conf\web.xml下面试试.
ksxm 2005-04-19
  • 打赏
  • 举报
回复
不行呀,要管理文件呀,比如《质量手册.doc》
或者用别的方法也可以,我初学Java,真不知道如何下手
  • 打赏
  • 举报
回复
你不使用中文就不成吗?
换英文名不是更好?
ksxm 2005-04-19
  • 打赏
  • 举报
回复
顺便提个小问题,我写了一个boookexample.Test

在Test2.java中调用没有问题

同时在同目录写了个Test2.jsp
<%@ page import="bookexample.Test"%>这就报错,这是为什么?
ksxm 2005-04-19
  • 打赏
  • 举报
回复
急呀,啥人来帮帮偶
ksxm 2005-04-18
  • 打赏
  • 举报
回复
直接打开,比如httpL//127.0.0.1:8080/电子邮件.xls
King_Style 2005-04-18
  • 打赏
  • 举报
回复
你是用什么方法打开文件的?

81,094

社区成员

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

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