序文
多くの友人が実際の仕事でExcelの要件にデータをエクスポートすると信じています。通常、これを行うには2つの方法があります。
まず、JXLを使用してExcelを生成し、サーバーに保存してから、ページの生成後にファイルをダウンロードします。
2つ目は、POIを使用してExcelを生成し、ストリームを使用してフロントデスクに出力して直接ダウンロードすることです(PS:もちろん、サーバーに生成してダウンロードすることもできます)。ここでは、2番目のタイプについて説明します。
Struts2の方法
通常、既に生成されているHSSFWorkBookを入力ストリームに入れてから、XML構成ファイルに移動して戻り結果をストリームに変更します。次のように:
private void ressiondata(hssfworkbook wb)throws ioexception {bytearrayoutputstream baos = new bytearrayoutputstream(); wb.write(baos); baos.flush(); byte [] aa = baos.tobytearray(); excelstream = new bytearrayinputStream(aa、0、aa.length); baos.close();}構成ファイル:
<アクションname = "exportxxx" method = "exportxxx"> <result name = "exportsuccess" type = "stream"> <param name = "inputname"> excelstream </param name = "contentType"> application/vnd.ms-excel </param> <param name = "contentdistion; </result> </action>
これにより、リンクをクリックしてファイルを直接ダウンロードする目的が実現します。
springmvcウェイ
最初にコードを投稿してください:
@RequestMapping( "/exportxxx.action")public void exportxxx(httpservletrequest request、httpservletresponse response、 @requestparam(value = "scheduled"、defaultValue = "0"){hssfworkbook wb = createexcel(scheduelid); try {response.setheader( "content-disposition"、 "attachment; filename = appoidususer.xls"); Response.setContentType( "Application/vnd.ms-excel; charset = utf-8"); outputStream out = response.getOutputStream(); wb.write(out); out.flush(); out.close(); } catch(ioexception e){e.printstacktrace(); }}実際、SprutMVCとStruts2は原則として同じですが、Struts2はファイルを構成する方法です。まず、 createExcel()メソッドを使用してExcelを生成して返します。最後に、 responseを使用して出力Excelを前景にします。この方法は一般的であり、 Servlet、Struts2などで試してみることもできます。 responseヘッダー情報に対応する出力情報を設定するだけです。
要約します
struts2またはspringmvcを使用するかどうかにかかわらず、基本的に使用されています。そのため、応答を徹底的に理解している限り、写真、世界、Excel、またはその他のファイルをダウンロードするかどうかは同じです。
Githubアドレス:https://github.com/crossoverjie
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。