1、cache-control13. expires014. keywordskeyword1,keyword2,keyword315. descriptionThisismypage16. /head17. 18. body19. 导出excel20. formaction=excelmethod=post21. inputtype=submitname=value=导出22. /form23. /body24. Xml代码 servlet2. servlet-nameoutPutExcel3. servlet-classoutput.OutputExcel4. 5. 7. url-patter
2、n/excel/servlet-mappingJava代码 1. packageoutput;3. importjava.io.File;4. importjava.io.FileNotFoundException;5. importjava.io.FileOutputStream;6. importjava.io.IOException;8. importorg.apache.poi.hssf.usermodel.HSSFCell;9. importorg.apache.poi.hssf.usermodel.HSSFCellStyle;10. importorg.apache.poi.hss
3、f.usermodel.HSSFFont;11. importorg.apache.poi.hssf.usermodel.HSSFRichTextString;12. importorg.apache.poi.hssf.usermodel.HSSFRow;13. importorg.apache.poi.hssf.usermodel.HSSFSheet;14. importorg.apache.poi.hssf.usermodel.HSSFWorkbook;15. importorg.apache.poi.hssf.util.HSSFColor;16. importorg.apache.poi
4、.hssf.util.Region;18. /*19. *EXCEL报表工具类.20. *21. *authorsun22. *version23. */24. publicclassExportExcel25. 26. privateHSSFWorkbookwbnull;27. HSSFSheetsheet28. 29. /*30. *param31. 32. */33. publicExportExcel(HSSFWorkbookwb,sheet)34. /super();35. this.wbwb;36. this.sheetsheet;37. 38. 39. 40. 创建通用EXCEL
5、头部41. 42. headString头部显示的字符43. colSum该报表的列数44. 45. voidcreateNormalHead(StringheadString,intcolSum)46. 47. HSSFRowrowsheet.createRow(0);48. 49. /设置第一行50. HSSFCellcellrow.createCell(0);51. /row.setHeight(short)1000);52. 53. 定义单元格为字符串类型54. cell.setCellType(HSSFCell.ENCODING_UTF_16);中文处理55. cell.setCel
6、lValue(newHSSFRichTextString(headString);56. 57. 指定合并区域58. 59. Region(introwFrom,60. shortcolFrom,61. rowTo,62. colTo)63. 64. sheet.addMergedRegion(newRegion(0,(short)0,colSum);65. 66. /定义单元格格式,添加单元格表样式,并添加到工作簿67. HSSFCellStylecellStylewb.createCellStyle();68. /设置单元格水平对齐类型69. cellStyle.setAlignment(
7、HSSFCellStyle.ALIGN_CENTER);指定单元格居中对齐70. cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);指定单元格垂直居中对齐71. cellStyle.setWrapText(true);指定单元格自动换行72. 73. 设置单元格字体74. HSSFFontfontwb.createFont();75. /font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);76. /font.setFontName(宋体);77. /font.setFontHeigh
8、t(short)600);78. /cellStyle.setFont(font);79. cell.setCellStyle(cellStyle);80. 81. 82. 83. 创建通用报表第二行84. 85. params统计条件数组86. 需要合并到的列索引87. 88. createNormalTwoRow(Stringparams,89. /创建第二行90. row1sheet.createRow(1);91. 92. row1.setHeight(short)400);93. 94. cell2row1.createCell(0);95. 96. cell2.setCellTyp
9、e(HSSFCell.ENCODING_UTF_16);97. cell2.setCellValue(newHSSFRichTextString(时间:+params0至params1);98. 99. 100. 101. 102. 103. 104. 105. 106. Region(1,1,107. 108. 109. 110. 111. 112. 113. 114. 115. font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);116. font.setFontName(117. font.setFontHeight(short)250);118.
10、cellStyle.setFont(font);119. 120. cell2.setCellStyle(cellStyle);121. 122. 123. 设置报表标题124. 125. columHeader标题字符串数组126. 127. createColumHeader(StringcolumHeader)128. 129. 设置列头在第三行130. row2sheet.createRow(2);131. 132. 指定行高133. row2.setHeight(short)134. 135. 136. 137. 138. 139. 140. 单元格字体141. 142. 143.
11、144. 145. 146. 147. /*cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);设置单无格的边框为粗体148. cellStyle.setBottomBorderColor(HSSFColor.BLACK.index);设置单元格的边框颜色149. cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);150. cellStyle.setLeftBorderColor(HSSFColor.BLACK.index);151. cellStyle.setBorderRight(HS
12、SFCellStyle.BORDER_THIN);152. cellStyle.setRightBorderColor(HSSFColor.BLACK.index);153. cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);154. cellStyle.setTopBorderColor(HSSFColor.BLACK.index);155. 156. 设置单元格背景色157. cellStyle.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);158. cellStyle.se
13、tFillPattern(HSSFCellStyle.SOLID_FOREGROUND);159. 160. cell3161. 162. for(inti0;columHeader.length;i+)163. row2.createCell(i);164. cell3.setCellType(HSSFCell.ENCODING_UTF_16);165. cell3.setCellStyle(cellStyle);166. cell3.setCellValue(newHSSFRichTextString(columHeaderi);167. 168. 169. 170. 171. 创建内容单
14、元格172. 173. 174. 175. colshort型的列索引176. align对齐方式177. val列值178. 179. cteateCell(HSSFWorkbookrow,col,shortalign,Stringval)180. row.createCell(col);181. 182. HSSFRichTextString(val);183. cellstyle184. cellstyle.setAlignment(align);185. cell.setCellStyle(cellstyle);186. 187. 188. 创建合计行189. 190. cellVal
15、ue191. 192. createLastSumRow(intcolSum,StringcellValue)193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. /获取工作表最后一行206. lastRowsheet.createRow(short)(sheet.getLastRowNum()1);207. sumCelllastRow.createCell(0);208. 209. sumCell.setCellValue(new合计);210. sumCell.setCellStyle(cellStyle);211. /合并最后一行的第零列-最后一行的第一列212. Region(sheet.getLastRowNum(),0,sheet.getLastRowNum(),213. 214. 2;(cellValue.length2);215. /定义最后一行的第三列216. lastRow.createCell(i);217. 218. /定义数组从0开始。219. HSSFRichTextString(cellValuei-2);220. 221. 222. 223. 输入EXCEL文件224. 225.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1