POIは、Excelをエクスポートするには、2つの方法があります

現在、他の方法の後に2つだけ私は、もう一度アップデートを習得します。

最初:Excelを描画するコードを使用して、エクスポートします。

長所:何も利点。

短所:

  1、維持が困難コードの大量。小さな1つの変更は、コードの多くは、全体として、いわゆるプル状況を変更します。

  背景色などの必要性は、それがより困難である太字の必要性は、記述するためにどこのような2は、スタイルは、制御することが困難です。

ステップ:

  1、POMは、として、POI依存を追加しました:

    

 

   2、そのスタックメモリを開き、Workbookオブジェクトを作成し、コード:

ワークブックのワークブック= 新しい XSSFWorkbook();

  図3は、フォームを作成し、あなただけのコードフォームを作成し、複数のフォームを作成することができます。

シートのシート= workbook.createSheet()。

  4は、次の2つのフォームを作成する場合は、今や第二の形式の名前を与えるように設定され、次のコードで最初のパラメータは意味のいくつかの形式の最初で、フォームに名前を設定し、最初の引数を1に設定する必要がありますインデックスは0から始まる計算されるため。私たちは今、最初の名前、コードを形成するように設定されています。

workbook.setSheetName(0、「私の名前にそれを与える」); // フォーム名

  図5に示すように、すべての行を作成する方法は同じであるので、我々は、例をヘッダにここに、行を作成します。パラメータはインデックスがゼロからカウントされるので、同じことがあり、我々はここにある最初の行、0にパラメータを作成するには、最初の数行の作成を表しています。コード:

Headrow sheet.createRow =行(0); // 最初の行を作成します

  図6に示すように、すべてのセルを作成する方法は、それに同じ、唯一異なるパラメータであるという理由だけで、ここでセルを作成するセルを作成。コード:

HeadCell = headRow.createCell細胞(0); // 最初の行の最初のセルを作成します

  7、セルスタイルコードを設定するには:

HeadCellStyle = workbook.createCellStyle CellStyle(); // セルスタイルオブジェクトを作成する 
フォントのフォント= workbook.createFont(); 
font.setBold(真の); // か大胆 
font.setFontHeightInPoints((ショート)14); // フォントサイズ
cellStyle.setFont(フォント); 
cellStyle.setAlignment(Horizo​​ntalAlignment.CENTER); // 水平中心     
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); // 垂直中心 
headCell.setCellStyle(headCellStyle); // 良好にスタイルオブジェクトを設定しますセル

  図8に示すように、セルの値、コードを挿入します。

headCell.setCellValue(「セルの内容」)。

  図9に示すように、列の幅、コードを設定します。

sheet.setColumnWidth(1、headCell.getStringCellValue()GetBytesメソッド()長さ×256。)。// 设置列宽

  次のように10、I 1行目の9つのセルをマージする必要があり、セルを結合、コードは次のとおりです。

sheet.addMergedRegion(新しい新しい CellRangeAddress(0、0、0 ,. 8)); // ヘッダの解釈のための4つのパラメータがマージされる:行インデックスをマージし始め、行インデックスは列インデックスを終了、開始列インデックスを終了しました

  11、行の高さ、コード:

headRow.setHeightInPoints((2 * sheet.getDefaultRowHeightInPointsは())); // 行の高さを設定します

  12は、上記の11個のステップは、Excelは、行、作成したセルを作成し、マージされた最も基本的なフォーム作成されている、または値を介在ように、特にアイテム課金することができ、上記の方法を使用して塗装に見えるように。次に、どのようにストリームについて書くと、ブラウザをダウンロードするよう求め:

試し{ 
     ワークブックワークブック = 新新XSSFWorkbook();
     //は、手順のステップを描くには、Excelを省略されている11の以上のステップ 
    ファイルファイル= 新しい新しいファイル(はSystem.getProperty(「java.io.tmpdirの」)+ File.separator +「ファイル名"+"の.xlsx「); // ファイルダウンロードするよう求め 
    たOutputStream OUT = 新新たFileOutputStream(ファイル); 
    workbook.write(OUT); 
    out.flush(); 
    out.closeを(); 
    を返す、file.getName(FileEntity(ファイルを)); 
} キャッチ(にFileNotFoundException E){ 
    e.printStackTrace(); 
} キャッチ(IOExceptionをE){  
    e.printStackTrace();
}                

  13、ブラウザは、(ここでは、エクスポート、Googleのブラウザを使用して)次の情報が表示されます。

   14.方法は、これまでのシェアを完了しました。

第二:Excelをエクスポートするテンプレートを使用します。

利点:

  1は、フォームテンプレートのスタイルが用意され、自分自身を調整する必要はありません。あなたは、スタイルを変更し、Microsoftのツールを使用して、交換またはWPSプロジェクト、ノーコードコントロールにテンプレートを変更したい場合でも。

  図2に示すように、手のアニメーションテーブル等、合理コード、より多くのエネルギーは、データを充填するために使用することができます。

短所:現在は見られません。

ステップ:

  1、POMは、として、POI依存を追加しました:

    

   2、として、Webプロジェクトの下でExcelファイルのテンプレートをエクスポートする必要があります。

   3、テンプレートファイルを取得し、ビジネス要件、コードに基づいてファイル名を変更:

1文字列のパス= ActionUtil.getRequest()のgetServletContext()getRealPath( "/"); ... // 取得したテンプレートファイル
2文字列filePathに=パス+ "ExcelTemplateを\\テンプレートファイル名の.xlsx" ;
 3 FileInputStreamのTPS = 新しい新しい FileInputStreamを(新しい新しいファイル(filePathに));
 4ファイルファイル= 新しい新しいファイル(はSystem.getProperty( "java.io.tmpdirの")+ File.separator + + "の.xlsx" "ファイル名をリセットする"); // ダウンロードするように求めファイル
5。のOutputStream OUT = 新新たFileOutputStream(ファイル);

  4、コードを参照してください。

ワークブック= XSSFWorkbook 新しい新 XSSFWorkbook(); // 新しいワークスペースエクセル作成 
ワークブック= 新しい新 ; XSSFWorkbook(TPS)// 新しいExcelにテンプレートをコピーします

  5、フォーム充填するデータは、ここでは、最初のコードをフォームにデータを入力します。

1シートのシートworkbook.getSheetAt =(0); // 最初のシート得る
2行のrow_01 sheet.getRow =(1); //は、最初の行を取得する
3。 row_01.getCell .setCellValue(「I(1)。セルの内容「); // 第2のセルの最初の行に値を挿入します

  必要に応じて、図6に示すように、ステップ5と同様の方法を充填し、異なるデータ行およびセルに挿入することができます。その後、出力を開始し、Excelファイルを生成し、コード:

1  workbook.write(アウト)。
2  out.flush()。
3  out.close()。
4  リターン fileEntity(ファイル、file.getName())。

  7、例外を処理するために必要なコードのステップ6、これは、我々はすべてそれに対処する方法を知っている必要があります!私は、方法ステップ12の単語を見て知りません。ヒントとブラウザをダウンロードする方法は、図に示したステップ13と同様です。方法2株は、これまでに完了して。

どうでしょうか?全体的な外観は、方法2の下、より単純ではないのですか?とにかく、私は個人的に第二の方法に有利になるように偏りました!私はここであなたに共有するPOIに関連するAPIのURLについては、結局のところ、ちょうどブログの記事は、APIメソッドのすべてを網羅することはできません。

より多くの探査POIについては、APIの公式サイトを参照してください。http://poi.apache.org/components/spreadsheet/quick-guide.html

 

おすすめ

転載: www.cnblogs.com/ywy8/p/11718467.html