Apache.POI の HSSFWorkbook を使用して Excel にエクスポートします。具体的な内容は次のとおりです。 1. Poi依存関係を導入する(3.12) 依存関係は次のとおりです。 <依存関係> <グループ ID>org.apache.poi</グループ ID> <artifactId>ポイ</artifactId> <バージョン>3.12</バージョン> </依存関係> 2. エンティティクラス(User.java)を作成する パッケージ com.kd.nm.entity.pojo; /** * エンティティクラス (ユーザー) * *著者 小晨歌歌*/ パブリッククラスUser{ // ユーザー番号 private String userNo; //ユーザー名private String userName; //年齢private String age; // パラメータ構築なし public User() { } // パラメータを持つコンストラクタ public User(String userNo, String userName, String age) { this.userNo = ユーザーNo; this.userName = ユーザー名; this.age = 年齢; } // getメソッドとsetメソッドをカプセル化する public String getUserNo() { ユーザー番号を返します。 } パブリック void setUserNo(String userNo) { this.userNo = ユーザーNo; } パブリック文字列 getUserName() { ユーザー名を返します。 } パブリックvoid setUserName(文字列userName) { this.userName = ユーザー名; } パブリック文字列getAge() { 年齢を返す; } パブリック void setAge(文字列 age) { this.age = 年齢; } //toString メソッドを書き換える @Override パブリック文字列toString() { "User{" を返す + "userNo='" + userNo + '\'' + ", ユーザー名='" + ユーザー名 + '\'' + "、年齢='" + 年齢 + '\'' + '}'; } } 3.Excel関連ツールクラス(ExcelUtil、ReflectUtil) パッケージ com.kd.nm.util; java.util.ArrayList をインポートします。 java.util.List をインポートします。 java.util.Map をインポートします。 org.apache.poi.hssf.usermodel.* をインポートします。 /** * 説明: Excel 関連ツール* * @著者: シャオチェン兄弟* */ パブリッククラス ExcelUtil { /** * Excel テーブルを生成* @param heads ヘッダー コンテンツ* @param data データ コンテンツ* @return */ パブリック静的 HSSFWorkbook createExcel(Map<String, String> ヘッド、リストデータ) { // ワークブックを宣言します HSSFWorkbook workbook = new HSSFWorkbook(); // テーブルを生成します HSSFSheet sheet = workbook.createSheet(); // タイトル行スタイルを生成します HSSFCellStyle headStyle = creatStyle(workbook, (short) 14); // テーブル コンテンツ スタイルを生成します HSSFCellStyle bodyStyle = creatStyle(workbook, (short) 10); // タイトル要素 List<String> keys = new ArrayList<String>(heads.keySet()); // ピクセル単位 short px = 1000; // 列幅を設定する for (int columnIndex = 0; columnIndex < keys.size(); columnIndex++) { sheet.setColumnWidth(列インデックス、6 * px); } // テーブルを生成 for (int rowNum = 0; rowNum <= data.size(); rowNum++) { // 行を作成 HSSFRow row = sheet.createRow(rowNum); (int cellNum = 0; cellNum < keys.size(); cellNum++) の場合 { // 列を作成します HSSFCell cell = row.createCell(cellNum); // タイトル if (rowNum == 0) { セルスタイルを設定します。 cell.setCellValue(heads.get(keys.get(cellNum))); } else { // コンテンツ cell.setCellStyle(bodyStyle); // reflection.setCellValue(ReflectUtil.getValue(keys.get(cellNum), data.get(rowNum - 1))); を通じてセルを取得します。 } } } ワークブックを返します。 } /** * スタイルを生成 * @param workbook * @param サイズ * @戻る */ パブリック静的 HSSFCellStyle creatStyle(HSSFWorkbook ワークブック、ショートサイズ) { HSSFCellStyle スタイル = workbook.createCellStyle(); style.setAlignment((HSSFCellStyle.ALIGN_CENTER)); style.setVerticalAlignment((HSSFCellStyle.VERTICAL_CENTER)); HSSFFont フォント = workbook.createFont(); font.setFontHeightInPoints(サイズ); font.setFontName("Microsoft YaHei"); style.setFont(フォント); style.setBorderBottom(HSSFCellStyle.BORDER_THIN); style.setBorderTop(HSSFCellStyle.BORDER_THIN); style.setBorderRight(HSSFCellStyle.BORDER_THIN); style.setBorderLeft(HSSFCellStyle.BORDER_THIN); 戻りスタイル; } } パッケージ com.kd.nm.util; org.slf4j.Logger をインポートします。 org.slf4j.LoggerFactory をインポートします。 org.springframework.util.ReflectionUtils をインポートします。 java.beans.PropertyDescriptor をインポートします。 java.lang.reflect.Method をインポートします。 /** * リフレクションツールキット* * @著者: 小晨兄弟*/ パブリッククラスReflectUtil { プライベート静的最終 Logger ロガー = LoggerFactory.getLogger(ReflectUtil.class); パブリック静的文字列 getValue(文字列キー、オブジェクト obj) { 文字列値 = ""; 試す { // 現在のプロパティを取得します。PropertyDescriptor pd = new PropertyDescriptor(key, obj.getClass()); // get メソッドを取得します。Method getMd = pd.getReadMethod(); 値 = getMd.invoke(obj).toString(); } キャッチ (例外 e) { logger.error("コンテンツの取得に失敗しました!"); e.printStackTrace(); } 戻り値; } パブリック静的void setValue(文字列キー、文字列値、オブジェクトobj) { 試す { // 現在のプロパティを取得します。PropertyDescriptor pd = new PropertyDescriptor(key, obj.getClass()); // 設定されたメソッドを取得します。Method writeMd = pd.getWriteMethod(); 書き込みMd.invoke(obj, 値); } キャッチ (例外 e) { logger.error("コンテンツの設定に失敗しました!"); e.printStackTrace(); } } } 4. バックエンドコントローラコード @RequestMapping(値 = "/exportExcel",メソッド = RequestMethod.GET,生成 = "application/json") パブリック void exportExcel(HttpServletResponse httpServletResponse) は IOException をスローします { // ヘッダーコンテンツ(フロントエンドで設定し、パラメータで渡すことができます)キーはエンティティクラスの属性値、値はヘッダーのラベルです Map<String,String> ヘッド = new HashMap<>(); head.put("userNo","ユーザー番号。"); head.put("userName","ユーザー名"); head.put("年齢","年齢"); // テーブル データ コンテンツ。データベースからクエリされたデータをシミュレートします。List<User> data = new ArrayList<>(); data.add(new User("1","Little Chenの弟","18")); data.add(新しいユーザー("2","リトル・ピギー・シスター","18")); data.add(新しいユーザー("3","ビッグピッグブラザー","18")); // ワークブックを生成 HSSFWorkbook hssfWorkbook = ExcelUtil.createExcel(head, data); // ファイル名を定義します String fileName = "Excel テーブルのエクスポート"; httpServletResponse.setHeader("Cache-Control", "max-age=0"); httpServletResponse.setContentType("application/vnd.ms-excel"); httpServletResponse.addHeader("Content-disposition", "attachment;filename=" + new String(fileName.getBytes("gb2312"), "ISO-8859-1") + ".xls"); 出力ストリーム outputStream = httpServletResponse.getOutputStream(); hssfWorkbook.write(出力ストリーム); 出力ストリームをフラッシュします。 出力ストリームを閉じます。 } 5. マッピングされたアドレスにアクセスする インターフェースアクセス: http://localhost:9090/FaultTreatment/api/standard/exportExcel Apache.POI を使用して Java で HSSFWorkbook を Excel にエクスポートする実装方法については、これで終わりです。Apache.POI で HSSFWorkbook を Excel にエクスポートする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
目次docker-compose.ymlを書くdocker-composeを実行するビルドステータス...
jsはクリックとドロップの特殊効果を実現します。まずは効果画像を見てみましょうさっそく始めましょう。...
MySQL の導入現在、会社ではプラットフォーム運用を通じてMySQLを導入しています。金曜日、プラ...
さらに、ブログ プログラムで構築された記事 Web サイトは常にブログのように見え、カスタマイズでき...
最終的な効果は次のようになります。アニメーションは2つのステップに分かれていますランニング軌道を開発...
コードの説明1.1 http:www.baidu.test.com のデフォルトは 80 で、リバー...
コードをコピーコードは次のとおりです。 IE6 と FF の違い: background:orang...
フォーカス画像は、画像、テキスト、動的なインタラクティブ効果を統合したコンテンツを表示する方法です。...
この記事では、モバイル端末を一度に1画面ずつ上下にスライドさせるためのJSの具体的なコードを参考まで...
1. ダウンロード2. 減圧3. パス環境変数を追加し、mysqlが配置されているbinディレクトリ...
目次1 ストレステストの指標1.1 秒あたり1.2 クォータ1.3 平均処理時間(RT) 1.4 同...
1: スループット(1秒あたりのリクエスト数)サーバーの同時処理能力を定量的に表したもので、reqs...
Nginxをインストールするまずcentosイメージをプルしますdocker pull centos...
ブログを書くのは初めてです。開発に携わって2年になります。仕事の後に何か有意義なことを見つけたいと思...
導入:最近の面接の質問を見ると、ドロップダウン メニューを実装するために CSS を使用することが多...