XSSFWorkbook createUserListExcel静的パブリック(一覧<地図<文字列、オブジェクト>> listresult){ // 1. HSSFWorkbook、HSSFWorkbookに対応するExcelファイルを作成 XSSFWorkbook XSSFWorkbook新しい新WB =は(); // 2.対応する、ワークブックにシートを追加します。シートExcelはファイル XSSFSheetシート= wb.createSheet( "シート1を"); //ヘッダ3、すなわち、列名の各列に配置された 文字列[] TITEL = { "rowName1 "、 "rowName2"、 "rowName3"、 "rowName4"}; // 3.1の最初の行作成 XSSFRow行を= sheet.createRow(0); //ここでは、番号欄作成する row.createCell(0).setCellValueを( "番号"); //列名を書き込みます オブジェクトスタイル= getDefaultHeaderCellStyle(WB); リスト<ExcelColumn>excelColumns = ImportExportExcelUtil.xmlToBean(パス);; フォントredFont = wb.createFont()。 redFont.setColor(Font.COLOR_RED); //红色 int型J = 0; (ExcelColumnのE:excelColumns)用{ セルCELL = row.createCell(J + 1)。 場合{(e.getText()( "*")を含む) XSSFRichTextString richString =新しいXSSFRichTextString(e.getText())。 // richString.applyFont(0、6、blueFont)。 richString.applyFont(e.getText()の長さ() - 2、e.getText()の長さ()、redFont。); cell.setCellValue(richString)。 }他{ cell.setCellValue(e.getText())。 } // row.createCell(J + 1).setCellValue(e.getText())。 J ++; } // {(; Iはtitel.lengthを<I ++はI = 0の整数)のため// セルを作成、列に//書き込みデータを、データが書き込まれる // row.createCell(I + 1) .setCellValue(TITEL [I]); //} //正式なデータを書き込む ための(I = 0 int型、Iは(listresult.sizeを<); Iは++){ //行作成 行= sheet.createRow(I + 1) ; //数 row.createCell(0).setCellValue(I + 1); 病院の//名前 row.createCell(1).setCellValue(。listresult.get (I)に.get( "rowKey1")のtoString()); sheet.autoSizeColumn(1、trueに。); //サービスタイプ row.createCell(2).setCellValue(listresult.get(I)に.get( "rowKey2")のtoString()); *上記の動作は、既にファイルが生成されるだけにストリーミングする必要があることができ、完全なファイルを生成しています。 //異常情報 row.createCell(3).setCellValue(listresult.get(I)に.get( "rowKey3")のtoString()); //数 XSSFCellセルrow.createCell =(4); XSSFRichTextString RichString新しい新XSSFRichTextString =(「こんにちは* "); // richString.applyFont(0 ,. 6、blueFont); richString.applyFont(4 ,. 6、redFont); cell.setCellValue(RichString); // cell.setCellValue(listresult.get(I)に.get(" rowKey4「)のtoString());. // cell.setCellStyle((CellStyle)スタイル); } / ** *次のオプションの幅を設定し、全体的にはほとんど影響は * / //セルの幅を設定 int型curColWidthを= 0; 以下のために(int型I = 0; I <= titel.length; I ++)は{ //適応列幅、中国の非友好的な、列が含まれている場合は、中国のための半値幅は中国を備えたセットを再する必要があります。 (trueにI)sheet.autoSizeColumnは; //表示中国語容易にするために、各列の最小値を設定する 。curColWidth = sheet.getColumnWidth(I) {IF(curColWidth <2500) sheet.setColumnWidth(Iを、2500); } //最初の三つの言葉は、より大きなセットポイントです。 sheet.setColumnWidth(3、8000。); } WBを返します; }
オブジェクト出力
静的な文字列downUserListプライベート(一覧<地図<文字列、オブジェクト>> listresult){ // getTime()ファイル名を作るために使用される現在の時刻を表す文字列、返す 文字列名=「ExcelTestを」; //たcsvfileは私の一つであります経路は、ライン自体に設けられている //ストリングたcsvfile + YSは= "//" +名+ "の.xlsx"; // 1は、Excel生成 XSSFWorkbook userListExcel = createUserListExcel(listresultを); 試み{ //ファイルを出力する //ファイルのファイル=新しい新しい(csvfile内の)ファイル; // IF(File.Exists()|| file.isDirectory()!){ // file.mkdirs(); //} // TODOはWBオブジェクト伝送生成 outputStream.close()。 たFileOutputStreamのOutputStream =新規のFileOutputStreamを(新しいファイル(パス2)); userListExcel.write(出力ストリーム)。 }キャッチ(例外e){ e.printStackTrace(); } 名前を返します。 }
コール
公共の静的な無効メイン(文字列[] ASGE){ 一覧<地図<文字列、オブジェクト>>一覧=新しいArrayListを<>(); 地図<文字列、オブジェクト>マップ=新しいHashMapの<>(); map.put( "rowKey1"、 "rowKey1"); map.put( "rowKey2"、 "rowKey2"); map.put( "rowKey3"、 "rowKey3"); map.put( "rowKey4"、 "rowKey4"); list.add(マップ) downUserList(リスト); 一覧<ExcelColumn> excelColumns = getExcelColumns(); }