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 をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
インターネットの発達により、バスを待ったり地下鉄に乗ったりする時間など、断片的な時間を活用して、いつ...
目次背景:必要:効果1. アイデア2. 実装1. ページとスタイル2. 初期化3. クリックすると4...
まず次のコマンドを実行します: [root@mini61 setuptools-8.2.1]# py...
1. フィールドを追加します。 alter table テーブル名 ADD フィールド名 タイプ;例...
これはネイティブ JS で実装されたテキスト スクロール効果です。この効果は通常、ニュース、ダイナミ...
データベーステーブルA: テーブル task_desc_tab を作成します ( id INT(11...
1. Alipay方式: Alipay メソッド: Alipay をクリックして支払い、バックエンド...
この記事の例では、WeChatアプレットの検索ボックス機能を実装するための具体的なコードを参考までに...
この記事では、ポップアップウィンドウをクリックしたときにポップアップログインボックスを実現するための...
目次1. トリガーソリューション2. パーティションテーブルソリューション3. 一般的な表領域ソリュ...
最近、Apple.com/Ebay.com/Amazon.com/shopping.yahoo.co...
ラベルテキストと入力の垂直方向の中央揃えを調整するのは簡単ではありません。padding、verti...
この記事では、MySQL 8.0.15 winx64 圧縮パッケージのインストールと設定方法を参考ま...
Navicat は、データベースに接続するときにエラー 10060 および 1045 を報告します...
参考までに、mysql 5.7.20 / 5.7.21 をダウンロード、インストール、構成します。具...