`

HSSFWorkBooK用法 ---Excel表的导出和设置

阅读更多
# public ActionResult excelPrint() {  
#     HSSFWorkbook workbook = new HSSFWorkbook();// 创建一个Excel文件  
#     HSSFSheet sheet = workbook.createSheet();// 创建一个Excel的Sheet  
#     sheet.createFreezePane(1, 3);// 冻结  
#     // 设置列宽  
#     sheet.setColumnWidth(0, 1000);  
#     sheet.setColumnWidth(1, 3500);  
#     sheet.setColumnWidth(2, 3500);  
#     sheet.setColumnWidth(3, 6500);  
#     sheet.setColumnWidth(4, 6500);  
#     sheet.setColumnWidth(5, 6500);  
#     sheet.setColumnWidth(6, 6500);  
#     sheet.setColumnWidth(7, 2500);  
#     // Sheet样式  
#     HSSFCellStyle sheetStyle = workbook.createCellStyle();  
#     // 背景色的设定  
#     sheetStyle.setFillBackgroundColor(HSSFColor.GREY_25_PERCENT.index);  
#     // 前景色的设定  
#     sheetStyle.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);  
#     // 填充模式  
#     sheetStyle.setFillPattern(HSSFCellStyle.FINE_DOTS);  
#     // 设置列的样式  
#     for (int i = 0; i <= 14; i++) {  
#       sheet.setDefaultColumnStyle((short) i, sheetStyle);  
#     }  
#     // 设置字体  
#     HSSFFont headfont = workbook.createFont();  
#     headfont.setFontName("黑体");  
#     headfont.setFontHeightInPoints((short) 22);// 字体大小  
#     headfont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);// 加粗  
#     // 另一个样式  
#     HSSFCellStyle headstyle = workbook.createCellStyle();  
#     headstyle.setFont(headfont);  
#     headstyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 左右居中  
#     headstyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 上下居中  
#     headstyle.setLocked(true);  
#     headstyle.setWrapText(true);// 自动换行  
#     // 另一个字体样式  
#     HSSFFont columnHeadFont = workbook.createFont();  
#     columnHeadFont.setFontName("宋体");  
#     columnHeadFont.setFontHeightInPoints((short) 10);  
#     columnHeadFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);  
#     // 列头的样式  
#     HSSFCellStyle columnHeadStyle = workbook.createCellStyle();  
#     columnHeadStyle.setFont(columnHeadFont);  
#     columnHeadStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 左右居中  
#     columnHeadStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 上下居中  
#     columnHeadStyle.setLocked(true);  
#     columnHeadStyle.setWrapText(true);  
#     columnHeadStyle.setLeftBorderColor(HSSFColor.BLACK.index);// 左边框的颜色  
#     columnHeadStyle.setBorderLeft((short) 1);// 边框的大小  
#     columnHeadStyle.setRightBorderColor(HSSFColor.BLACK.index);// 右边框的颜色  
#     columnHeadStyle.setBorderRight((short) 1);// 边框的大小  
#     columnHeadStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 设置单元格的边框为粗体  
#     columnHeadStyle.setBottomBorderColor(HSSFColor.BLACK.index); // 设置单元格的边框颜色  
#     // 设置单元格的背景颜色(单元格的样式会覆盖列或行的样式)  
#     columnHeadStyle.setFillForegroundColor(HSSFColor.WHITE.index);  
#  
#     HSSFFont font = workbook.createFont();  
#     font.setFontName("宋体");  
#     font.setFontHeightInPoints((short) 10);  
#     // 普通单元格样式  
#     HSSFCellStyle style = workbook.createCellStyle();  
#     style.setFont(font);  
#     style.setAlignment(HSSFCellStyle.ALIGN_LEFT);// 左右居中  
#     style.setVerticalAlignment(HSSFCellStyle.VERTICAL_TOP);// 上下居中  
#     style.setWrapText(true);  
#     style.setLeftBorderColor(HSSFColor.BLACK.index);  
#     style.setBorderLeft((short) 1);  
#     style.setRightBorderColor(HSSFColor.BLACK.index);  
#     style.setBorderRight((short) 1);  
#     style.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 设置单元格的边框为粗体  
#     style.setBottomBorderColor(HSSFColor.BLACK.index); // 设置单元格的边框颜色.  
#     style.setFillForegroundColor(HSSFColor.WHITE.index);// 设置单元格的背景颜色.  
#     // 另一个样式  
#     HSSFCellStyle centerstyle = workbook.createCellStyle();  
#     centerstyle.setFont(font);  
#     centerstyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 左右居中  
#     centerstyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 上下居中  
#     centerstyle.setWrapText(true);  
#     centerstyle.setLeftBorderColor(HSSFColor.BLACK.index);  
#     centerstyle.setBorderLeft((short) 1);  
#     centerstyle.setRightBorderColor(HSSFColor.BLACK.index);  
#     centerstyle.setBorderRight((short) 1);  
#     centerstyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 设置单元格的边框为粗体  
#     centerstyle.setBottomBorderColor(HSSFColor.BLACK.index); // 设置单元格的边框颜色.  
#     centerstyle.setFillForegroundColor(HSSFColor.WHITE.index);// 设置单元格的背景颜色.  
#  
#     try {  
#       // 创建第一行  
#       HSSFRow row0 = sheet.createRow(0);  
#       // 设置行高  
#       row0.setHeight((short) 900);  
#       // 创建第一列  
#       HSSFCell cell0 = row0.createCell(0);  
#       cell0.setCellValue(new HSSFRichTextString("中非发展基金投资项目调度会工作落实情况对照表"));  
#       cell0.setCellStyle(headstyle);  
#       /** 
#        * 合并单元格 
#        *    第一个参数:第一个单元格的行数(从0开始) 
#        *    第二个参数:第二个单元格的行数(从0开始) 
#        *    第三个参数:第一个单元格的列数(从0开始) 
#        *    第四个参数:第二个单元格的列数(从0开始) 
#        */ 
#       CellRangeAddress range = new CellRangeAddress(0, 0, 0, 7);  
#       sheet.addMergedRegion(range);  
#       // 创建第二行  
#       HSSFRow row1 = sheet.createRow(1);  
#       HSSFCell cell1 = row1.createCell(0);  
#       cell1.setCellValue(new HSSFRichTextString("本次会议时间:2009年8月31日       前次会议时间:2009年8月24日"));  
#       cell1.setCellStyle(centerstyle);  
#       // 合并单元格  
#       range = new CellRangeAddress(1, 2, 0, 7);  
#       sheet.addMergedRegion(range);  
#       // 第三行  
#       HSSFRow row2 = sheet.createRow(3);  
#       row2.setHeight((short) 750);  
#       HSSFCell cell = row2.createCell(0);  
#       cell.setCellValue(new HSSFRichTextString("责任者"));  
#       cell.setCellStyle(columnHeadStyle);  
#       cell = row2.createCell(1);  
#       cell.setCellValue(new HSSFRichTextString("成熟度排序"));  
#       cell.setCellStyle(columnHeadStyle);  
#       cell = row2.createCell(2);  
#       cell.setCellValue(new HSSFRichTextString("事项"));  
#       cell.setCellStyle(columnHeadStyle);  
#       cell = row2.createCell(3);  
#       cell.setCellValue(new HSSFRichTextString("前次会议要求/n/新项目的项目概要"));  
#       cell.setCellStyle(columnHeadStyle);  
#       cell = row2.createCell(4);  
#       cell.setCellValue(new HSSFRichTextString("上周工作进展"));  
#       cell.setCellStyle(columnHeadStyle);  
#       cell = row2.createCell(5);  
#       cell.setCellValue(new HSSFRichTextString("本周工作计划"));  
#       cell.setCellStyle(columnHeadStyle);  
#       cell = row2.createCell(6);  
#       cell.setCellValue(new HSSFRichTextString("问题和建议"));  
#       cell.setCellStyle(columnHeadStyle);  
#       cell = row2.createCell(7);  
#       cell.setCellValue(new HSSFRichTextString("备 注"));  
#       cell.setCellStyle(columnHeadStyle);  
#       // 访问数据库,得到数据集  
#       List<DeitelVO> deitelVOList = getEntityManager().queryDeitelVOList();  
#       int m = 4;  
#       int k = 4;  
#       for (int i = 0; i < deitelVOList.size(); i++) {  
#         DeitelVO vo = deitelVOList.get(i);  
#         String dname = vo.getDname();  
#         List<Workinfo> workList = vo.getWorkInfoList();  
#         HSSFRow row = sheet.createRow(m);  
#         cell = row.createCell(0);  
#         cell.setCellValue(new HSSFRichTextString(dname));  
#         cell.setCellStyle(centerstyle);  
#         // 合并单元格  
#         range = new CellRangeAddress(m, m + workList.size() - 1, 0, 0);  
#         sheet.addMergedRegion(range);  
#         m = m + workList.size();  
#  
#         for (int j = 0; j < workList.size(); j++) {  
#           Workinfo w = workList.get(j);  
#           // 遍历数据集创建Excel的行  
#           row = sheet.getRow(k + j);  
#           if (null == row) {  
#             row = sheet.createRow(k + j);  
#           }  
#           cell = row.createCell(1);  
#           cell.setCellValue(w.getWnumber());  
#           cell.setCellStyle(centerstyle);  
#           cell = row.createCell(2);  
#           cell.setCellValue(new HSSFRichTextString(w.getWitem()));  
#           cell.setCellStyle(style);  
#           cell = row.createCell(3);  
#           cell.setCellValue(new HSSFRichTextString(w.getWmeting()));  
#           cell.setCellStyle(style);  
#           cell = row.createCell(4);  
#           cell.setCellValue(new HSSFRichTextString(w.getWbweek()));  
#           cell.setCellStyle(style);  
#           cell = row.createCell(5);  
#           cell.setCellValue(new HSSFRichTextString(w.getWtweek()));  
#           cell.setCellStyle(style);  
#           cell = row.createCell(6);  
#           cell.setCellValue(new HSSFRichTextString(w.getWproblem()));  
#           cell.setCellStyle(style);  
#           cell = row.createCell(7);  
#           cell.setCellValue(new HSSFRichTextString(w.getWremark()));  
#           cell.setCellStyle(style);  
#         }  
#         k = k + workList.size();  
#       }  
#       // 列尾  
#       int footRownumber = sheet.getLastRowNum();  
#       HSSFRow footRow = sheet.createRow(footRownumber + 1);  
#       HSSFCell footRowcell = footRow.createCell(0);  
#       footRowcell.setCellValue(new HSSFRichTextString("                    审  定:XXX      审  核:XXX     汇  总:XX"));  
#       footRowcell.setCellStyle(centerstyle);  
#       range = new CellRangeAddress(footRownumber + 1, footRownumber + 1, 0, 7);  
#       sheet.addMergedRegion(range);  
#  
#       HttpServletResponse response = getResponse();  
#       HttpServletRequest request = getRequest();  
#       String filename = "未命名.xls";//设置下载时客户端Excel的名称  
#       // 请见:http://zmx.javaeye.com/blog/622529  
#       filename = Util.encodeFilename(filename, request);  
#       response.setContentType("application/vnd.ms-excel");  
#       response.setHeader("Content-disposition", "attachment;filename=" + filename);  
#       OutputStream ouputStream = response.getOutputStream();  
#       workbook.write(ouputStream);  
#       ouputStream.flush();  
#       ouputStream.close();  
#  
#     } catch (Exception e) {  
#       e.printStackTrace();  
#     }  
#     return null;  
#   } 
分享到:
评论

相关推荐

    导入导出Excel方法,很详细

    3. **填充数据**:将数据逐行写入工作表的单元格中,可以使用`Row`和`Cell`对象来定位和设置值。 4. **设置格式**:为了使数据更易读,可以设置单元格的样式,如字体、颜色、对齐方式、边框等。 5. **保存文件**:...

    HSSFWorkbook 创建excel文件(导出数据)

    标题 "HSSFWorkbook 创建 excel 文件(导出数据)" 指的是使用 Apache POI 库中的 HSSFWorkbook 类来创建和导出 Excel 文件的过程。Apache POI 是一个流行的 Java 库,它允许程序员读写 Microsoft Office 格式的文件...

    使用POI,实现excel文件导出,图片url导出文件,图片和excel文件导出压缩包

    在给定的ants-demo项目中,可能已经封装了这些功能,提供了便利的工具类,如Excel导出工具、图片下载工具和压缩包生成工具。你可以通过阅读源代码,了解具体的实现细节和调用方法。如果遇到任何问题,可以根据描述中...

    java导出excel复杂表头

    通过使用HSSFWorkbook(针对旧的.xls格式)或XSSFWorkbook(针对新的.xlsx格式),我们可以创建、修改和读取Excel文件。 1. **创建Excel工作簿和工作表** 使用Apache POI,我们可以创建一个新的Workbook对象,它是...

    EX29-Excel导入导出_导出excel_c#导入excel_C#_excel导入导出_

    在C#中,我们通常使用NPOI来处理Excel文件的导入和导出。通过NPOI,我们可以创建新的工作簿、工作表,添加行、列,设置单元格样式,以及读取和修改已存在的Excel文件。 2. **Excel文件格式**: Excel有两种主要的...

    java导出excel复合表头简单实例

    本资源提供的"java导出excel复合表头简单实例"是针对Java开发者的一个实用教程,特别是对于那些刚开始接触Java Excel导出功能的新手。这个实例将帮助你理解如何在Excel中创建并设置复杂的表头结构,使得数据的呈现...

    poi excel 模板读取并导出带公式的excel文档

    ### POI Excel 模板读取并导出带公式的Excel文档 #### 一、概述 在实际工作中,经常需要批量处理数据,并将其导出到Excel文件中,特别是在需要复杂计算的情况下,例如工资单、统计数据汇总等场景。利用Apache POI...

    C#导出Excel 导出PDF

    本主题聚焦于如何利用C#实现数据的导出功能,包括将查询结果或表格信息导出为Excel文件和PDF文档。这两种格式在数据共享、报告生成和打印等方面非常常见。 首先,我们来看C#导出Excel的实现。Excel文件通常以`.xlsx...

    excel导出实现代码

    总结来说,"Excel导出实现代码"涉及到的关键知识点是使用Apache POI库在Java中创建和写入Excel文件。通过理解并熟练运用上述步骤和API,开发者可以轻松地在应用程序中实现Excel数据的动态生成和导出。

    Java实现Excel导入导出功能

    - 访问工作表(Sheet)和单元格(Cell),使用`getSheetAt()`和`getCell()`方法。 - 读取单元格内容,注意处理不同类型的单元格数据,如字符串、数字、日期等。 2. **导出Excel文件**: - 创建新的`XSSFWorkbook...

    落阳-利用NPOI将EasyuiDatagrid数据导出到Excel-ASP.NET MVC Demo

    在IT行业中,经常需要处理大量的数据,并且在某些情况下,我们需要将这些数据导出到常见的文件...通过深入研究该项目的源代码,你可以掌握如何将前端的Datagrid数据与后端的Excel导出功能相结合,提升你的Web开发技能。

    C#-WinForm(2种dataGridView导出Excel)批量导出,高效率,36列万行,15秒

    在`ExportData.cs`源文件中,可以看到具体的实现细节,包括如何初始化和配置Excel导出的相关逻辑。通过这个文件,开发者可以学习到如何将`dataGridView`数据高效地转换为Excel文件,这对于需要导出大量数据的应用...

    Excel.zip java-poi-excel 导入Import导出Goout excel表格

    通过以上这些步骤,"ExcelImport.zip"项目展示了如何使用Java POI库高效地导入和导出Excel表格,为Java开发者提供了一个实用的工具。在实际开发中,这样的功能广泛应用于数据处理、报表生成、数据分析等多个场景。

    ASP.NET 分Sheet导出EXCEL 2003 导出引用dll

    对于Excel 2003,我们可以使用NPOI的HSSFWorkbook类来创建和操作.BIFF8格式的工作簿。 **分Sheet导出步骤** 1. **创建Workbook对象**:首先,我们需要实例化一个HSSFWorkbook对象,这将作为我们的Excel工作簿。 2. ...

    使用poi从数据库导出excel表的示例

    总结起来,"使用poi从数据库导出excel表的示例"是一个结合了Struts1 MVC框架和Apache POI库的Java编程任务,它涉及数据库连接、SQL查询、Excel文件生成以及Web应用响应。这个过程不仅有助于数据的高效管理和分享,也...

    poi-3.9 使用poi技术处理Excel表导入、导出的包

    导入和导出Excel表是Apache POI的核心功能。下面,我们将深入探讨如何使用POI 3.9处理Excel的相关知识点: 1. **工作簿与工作表**: - **工作簿**:在POI中,工作簿(HSSFWorkbook 或 XSSFWorkbook)代表整个Excel...

    Excel导入导出

    在提供的压缩包文件中,可能包含已经封装好的方法和DLL,这些预封装的方法简化了Excel导入导出的过程,使得开发者可以直接调用,而无需关心底层的实现细节。这通常会提高开发效率,减少错误,并且便于代码维护。 ...

    easyuiPoi导出Excel工具类封装(支持合并单元格)

    2. 填充数据:找到对应的sheet和cell,使用`setCellValue()`方法设置单元格的值。 3. 合并单元格:如果需要合并单元格,可以调用`Sheet`对象的`mergeCells()`方法,指定起始和结束的单元格坐标。 4. 保存和导出:...

    jsp导出Excel;简单实用!导出Excel;导出Word

    下面将详细介绍如何使用JSP实现Excel和Word的导出功能。 **一、导出Excel** 1. **引入库**: 要导出Excel,通常我们会用到Apache POI库,这是一个Java API,专门用于处理Microsoft Office格式的文件,包括Excel。...

    Springboot+Poi实现Excel的导入导出

    1. **Excel导出**: - 使用POI库,可以创建HSSFWorkbook对象来代表一个Excel工作簿,HSSFSheet表示工作表,HSSFRow表示行,HSSFCell表示单元格。通过这些对象,我们可以填充数据到Excel文件。 - 数据查询:调用...

Global site tag (gtag.js) - Google Analytics