1。はじめに
多くの場合、レポートはJava Web開発に関与しています。最近のプロジェクトでは、データベースにデータをテーブルとして表示し、Excelファイルとしてエクスポートする必要があります。
2。関連JARパッケージ
POIを使用すると、Excelのインポートの問題を解決し、エクスポートします。 POIダウンロードアドレス:
POI-3.6-20091214.jar
3.キーコード
最初に上記のJARパッケージをインポートします。
Excelを生成するとき、一般データソースフォームはリストです。以下は、Excel形式を生成するコードです。
/ ***以下はExcel操作の生成です*/ //1。Excelファイルに対応するワークブックを作成します。hssfworkbookwb = new hssfworkbook(); // 2。excel hssfsheetシート= wb.createsheet( "xxx table")のシートに対応するワークブックにシートを追加します。 //3。シートにテーブルヘッダーの0列を追加します。古いバージョンのpoiには、Excel rows short hssfrow row = sheet.createrow((int)0)に制限があります。 // 4。セルを作成し、値テーブルヘッダーを設定し、テーブルヘッダーを中央hssfcellstyle style = wb.createcellstyle()に設定します。 //センターリングフォーマットstyle.setalignment(hssfcellstyle.align_center); //テーブルヘッダーHSSFCELLセル= row.createCell(0)を設定します。 Cell.setCellValue( "Table Header1"); Cell.SetCellStyle(スタイル); cell = row.createcell(1); cell.setCellValue( "Table Header2"); Cell.SetCellStyle(スタイル); cell = row.createcell(2); Cell.setCellValue( "Table Header3"); Cell.SetCellStyle(スタイル); cell = row.createcell(3); cell.setCellValue( "テーブルヘッダー4"); Cell.SetCellStyle(スタイル); cell = row.createcell(4); cell.setCellValue( "テーブルヘッダー5"); Cell.SetCellStyle(スタイル);
Excel形式を生成した後、Excelにデータを記述する必要があります。
//(int i = 0; i <lists.size(); i ++){row = sheet.createrow((int)i+1);リストlist = lists.get(i); //セルを作成し、値row.createCell(0).setCellValue(list.getXxx())を設定します。 row.createCell(1).setCellValue(list.getXxx()); row.createCell(2).setCellValue(list.getXxx()); row.createcell(3).setCellValue(list.getXxx()); row.createcell(3).setCellValue(list.getXxx()); row.createCell(4).setCellValue(list.getXxx()); }結果のExcelは、ストリームとして出力されます。
*ダウンロードボックスがポップアップしません
fileoutputStream out = new fileoutputStream( "e:/xxx.xls"); wb.write(out); out.close();
*ダウンロードボックスをポップアップします
文字列filename = "xxx table"; bytearrayoutputStream os = new bytearrayoutputStream(); wb.write(os); byte [] content = os.tobytearray(); inputstream is = new bytearrayinputStream(content); //応答パラメーターを設定してダウンロードページを開きますres.reset(); Res.SetContentType( "Application/vnd.ms-Excel; charset = utf-8"); res.setheader( "content-disposition"、 "attachment; filename =" + new String((filename + ".xls")。getBytes()、 "ISO-8859-1")); servletoutputStream out = res.getOutputStream(); bufferedinputStream bis = null; BufferedOutputStream bos = null; try {bis = new BufferedInputStream(is); bos = new BufferedOutputStream(out); byte [] buff = new byte [2048]; int bytesRead; //簡単な読み取り/書き込みループ。 while(-1!=(bytesRead = bis.read(buff、0、buff.length))){bos.write(buff、0、bytesread); }} catch(例外e){// todo:例外e.printstacktrace()を処理します; }最後に{if(bis!= null)bis.close(); if(bos!= null)bos.close(); }上記の操作を完了した後、他のページにジャンプできます。
同時に、POIはWebページにExcelのアップロードと解析を表示することもできます。この他の記事の要約をお楽しみに!
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。