国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
在客戶端生成Word文件

(轉(zhuǎn)載)

web-oa系統(tǒng)中,公文管理好象不可或缺,有時需要從數(shù)據(jù)庫中查詢一些數(shù)據(jù)以某種格式輸出來,并以word文檔的形式展現(xiàn),有時許多word文檔保存到數(shù)據(jù)庫中的某個表的Blob字段里,服務(wù)器再把保存在Blob字段中的圖片文件展現(xiàn)給用戶。通過網(wǎng)上查找發(fā)現(xiàn)很少有關(guān)于此類的文章,現(xiàn)在整理起來供大家參考。

1 client端直接生成word文檔

jsp頁面上生成word文檔非常簡單,只需把contentType=”text/html”改為contentType="application/msword; charset=gb2312"即可,代碼如下:

<%@ page contentType="application/msword; charset=gb2312" %>

通過設(shè)置可以使原來頁面的內(nèi)容在word中表現(xiàn)出來。

如果需要把word文檔下載下來,只需在jsp頁面上面加上如下代碼:

<%

response.setHeader("Content-Disposition", "attachment;filename=filename.doc");

%>

其中filename.docfilename是要下載的word文檔的文件名,可以通過<%=docName%>來自行定制,如下

<%

response.setHeader("Content-Disposition", "attachment;filename=<%=docName%>.doc");

%>

這樣提供一個提示信息供用戶選擇如下圖所示

 

小技巧:如果程序員需要在生成word文檔的時候按照自己預(yù)先在word上設(shè)計好的格式,可以復(fù)制word格式然后粘貼到frontpage中,取html代碼貼到jsp頁面即可。

2 在客戶端輸出存在數(shù)據(jù)庫中的word實體

這里只討論在client輸出oracleBLOB字段中的word文檔實體。其中調(diào)用了類getBlobBean,該類提供了從oracle中取出blob功能,代碼如下:

package yourpackage;

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

import java.util.*;

import oracle.sql.*;

import beans.yourbeanpackage. getBlobBean;

/**

 * <p>Title: </p>

 * <p>Description: </p>

 * <p>Copyright: Copyright (c) 2004</p>

 * <p>Company: </p>

 * @author not attributable

 * @version 1.0

 */

public class GetBlobServlet1 extends HttpServlet {

//設(shè)置輸出內(nèi)容類型,這個設(shè)置很重要,否則客戶端瀏覽器不能識別輸出內(nèi)容,導(dǎo)致彈出下載的對話框。

  private static final String CONTENT_TYPE = "application/msword;charset=gb2312";

  //Initialize global variables

  public void init() throws ServletException {

  }

  //Process the HTTP Get request

  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    response.setContentType(CONTENT_TYPE);

    perform(request,response);

  }

  public void perform(HttpServletRequest request, HttpServletResponse 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];

        int 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

  public void destroy() {

  }

}

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
oracle中操作BLOB
用java將Word文檔轉(zhuǎn)Html
用jspsmartupload進行上傳下載(數(shù)據(jù)庫)
JAVA根據(jù)word模板動態(tài)生成word(SpringBoot項目)
巧取網(wǎng)頁中無法選中的文字
用gridView 綁定數(shù)據(jù)后導(dǎo)出word文檔
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服