web报表工具导出成为ExcelWordPDF等文件形式Word格式.docx
- 文档编号:18265163
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:9
- 大小:17.56KB
web报表工具导出成为ExcelWordPDF等文件形式Word格式.docx
《web报表工具导出成为ExcelWordPDF等文件形式Word格式.docx》由会员分享,可在线阅读,更多相关《web报表工具导出成为ExcelWordPDF等文件形式Word格式.docx(9页珍藏版)》请在冰豆网上搜索。
%
response.setHeader("
Content-Disposition"
"
attachment;
filename=filename.doc"
);
其中filename.doc中filename是要下载的word文档的文件名,可以通过<
%=docName%>
来自行定制,如下
filename=<
.doc"
这样提供一个提示信息供用户选择如下图所示
小技巧:
如果程序员需要在生成word文档的时候按照自己预先在word上设计好的格式,可以复制word格式然后粘贴到frontpage中,取html代码贴到jsp页面即可。
2
在客户端输出存在数据库中的word实体
这里只讨论在client输出oracle中BLOB字段中的word文档实体。
其中调用了类getBlobBean,该类提供了从oracle中取出blob功能,代码如下:
package
yourpackage;
import
javax.servlet.*;
javax.servlet.http.*;
java.io.*;
java.util.*;
oracle.sql.*;
beans.yourbeanpackage.
getBlobBean;
/**
*
p>
Title:
/p>
Description:
Copyright:
Copyright
(c)
2004<
Company:
@author
not
attributable
@version
1.0
*/
public
class
GetBlobServlet1
extends
HttpServlet
{
//设置输出内容类型,这个设置很重要,否则客户端浏览器不能识别输出内容,导致弹出下载的对话框。
private
static
final
String
CONTENT_TYPE
=
;
//Initialize
global
variables
void
init()
throws
ServletException
}
//Process
the
HTTP
Get
request
doGet(HttpServletRequest
request,
HttpServletResponse
response)
ServletException,
IOException
response.setContentType(CONTENT_TYPE);
perform(request,response);
perform(HttpServletRequest
response){
try{
//该类功能是从oracle哭中取出blob实体
getBlobBean
getBlob=new
getBlobBean();
OutputStream
sos
response.getOutputStream();
getBlob.connFunction();
oracle.sql.BLOB
blob=getBlob.getBlob("
cehui"
//输出word文档
if(blob!
=null){
InputStream
pi
blob.getBinaryStream();
int
blobsize
=(int)blob.length();
byte[]
blobbytes
new
byte[blobsize];
bytesRead
0;
while
((bytesRead
pi.read(blobbytes))
!
-1)
sos.write(blobbytes,
0,
bytesRead);
pi.close();
sos.flush();
sos.close();
getBlob.dropConnFunction();
}catch(Exception
e){
System.out.println(e.toString());
//Clean
up
resources
destroy()
}
3
在client端直接生成EXCEL文档
application/vnd.ms-excel;
%
filename=20050304.xls"
html>
head>
meta
http-equiv="
Content-Type"
content="
text/html;
>
title>
生成<
/title>
/head>
body>
生成例子excel
。
用WORD排版面,倒出HTML
把代码拷贝到网页里,然后这个JSP页面打印你就随心所欲的控制了。
/body>
/html>
4
在client端直接生成PDF文档
需要下载JAR包:
以下代码在JDK1.4
RESIN2.16
下测试通过
ITEXT包
字体包
JSP生成到客户IE端直接打开
ie_PDF.jsp
import="
java.io.*,java.awt.Color,com.lowagie.text.*,com.lowagie.text.pdf.*"
response.setContentType(
application/pdf"
Document
document
Document();
ByteArrayOutputStream
buffer
ByteArrayOutputStream();
PdfWriter
writer=PdfWriter.getInstance(
document,
document.open();
document.add(new
Paragraph("
Hello
World"
));
document.close();
DataOutput
output
DataOutputStream(
response.getOutputStream()
bytes
buffer.toByteArray();
response.setContentLength(bytes.length);
for(
i
bytes.length;
i++
)
{
output.writeByte(
bytes[i]
-------------------------------
在服务器端生成不下载。
server_PDF.jsp
="
com.lowagie.text.*,com.lowagie.text.pdf.*,
java.io.*"
filename
D:
\\test\\111111.pdf"
Document(PageSize.A4);
ServletOutputStream
out1
try{
writer
PdfWriter.getInstance(document,
FileOutputStream(filename)
World中文支持"
catch(Exception
e){}
使用iText可以设置文字的字体,对于我们中国的程序员来说如何显示中文是最紧要的问题。
幸好iText中有一个专门的包用来设置亚洲国家的字体你可以从
BaseFont
bfChinese
BaseFont.createFont("
STSong-Light"
UniGB-UCS2-H"
BaseFont.NOT_EMBEDDED);
Font
FontChinese
Font(bfChinese,
12,
Font.NORMAL);
在上面的代码中设置了中文字体的显示,你只要使用下面的代码就可以包中文加到PDF中了
title
我爱喝咖啡"
Paragraph
t
Paragraph(title,
FontChinese);
doc.add(t);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- web 报表 工具 导出 成为 ExcelWordPDF 文件 形式