public class CoServerBackExcel extends AbstractExcelView{
/**
* 合并单元格
* @param sheet 所在表
* @param row 所在行
* @param cellStyle 样式
* @param firstRow 合并开始行
* @param lastRow 合并结束行
* @param firstCol 合并开始列
* @param lastCol 合并结束列
* @param cellRangeAddress 合并区域
* @param cell 单元格
* @param cellNum 单元格序号
* @param value 单元格值
*/
protected static void addCell(HSSFSheet sheet, HSSFRow row, HSSFCellStyle cellStyle, int firstRow, int lastRow, int firstCol, int lastCol, CellRangeAddress cellRangeAddress, HSSFCell cell, int cellNum, String value) {
cellRangeAddress = new CellRangeAddress(firstRow, lastRow, firstCol, lastCol);
sheet.addMergedRegion(cellRangeAddress);
cell = row.createCell(cellNum);
cell.setCellValue(value);
cell.setCellStyle(cellStyle);
}
/**
* 创建excel表格
*/
@Override
protected void buildExcelDocument(Map model, HSSFWorkbook workbook, HttpServletRequest request, HttpServletResponse response)
throws Exception {
String date = new SimpleDateFormat("yyyy年MM月dd日").format(new Date());
String excelName = "返点未收表_" + date + ".xls";
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(excelName,"utf-8"));
List lists = (List)model.get("list");
//产生Excel表
HSSFSheet sheet = workbook.createSheet("返点未收表_" + date);
// 设置样式
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_LEFT);
cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("mm/dd/yyyy"));
//行
HSSFRow row = null;
//单元格
HSSFCell cell = null;
//合并区域
CellRangeAddress cellRangeAddress = null;
//第1行
row = sheet.createRow(0);
addCell(sheet, row, cellStyle, 0, 1, 0, 0, cellRangeAddress, cell, 0, "业主姓名");
addCell(sheet, row, cellStyle, 0, 1, 1, 1, cellRangeAddress, cell, 1, "电话");
addCell(sheet, row, cellStyle, 0, 1, 2, 2, cellRangeAddress, cell, 2, "所在地区");
addCell(sheet, row, cellStyle, 0, 1, 3, 3, cellRangeAddress, cell, 3, "房屋类型");
addCell(sheet, row, cellStyle, 0, 0, 4, 6, cellRangeAddress, cell, 4, "客服确认签约金额");
addCell(sheet, row, cellStyle, 0, 0, 7, 9, cellRangeAddress, cell, 7, "销售确认签约金额");
addCell(sheet, row, cellStyle, 0, 0, 10, 12, cellRangeAddress, cell, 10, "财务确认签约金额");
addCell(sheet, row, cellStyle, 0, 1, 13, 13, cellRangeAddress, cell, 13, "状态");
//第2行
row = sheet.createRow(1);
addCell(sheet, row, cellStyle, 1, 1, 4, 4, cellRangeAddress, cell, 4, "设计金额(元)");
addCell(sheet, row, cellStyle, 1, 1, 5, 5, cellRangeAddress, cell, 5, "施工金额(元)");
addCell(sheet, row, cellStyle, 1, 1, 6, 6, cellRangeAddress, cell, 6, "合计(元)");
addCell(sheet, row, cellStyle, 1, 1, 7, 7, cellRangeAddress, cell, 7, "设计金额(元)");
addCell(sheet, row, cellStyle, 1, 1, 8, 8, cellRangeAddress, cell, 8, "施工金额(元)");
addCell(sheet, row, cellStyle, 1, 1, 9, 9, cellRangeAddress, cell, 9, "合计(元)");
addCell(sheet, row, cellStyle, 1, 1, 10, 10, cellRangeAddress, cell, 10, "设计金额(元)");
addCell(sheet, row, cellStyle, 1, 1, 11, 11, cellRangeAddress, cell, 11, "设计金额(元)");
addCell(sheet, row, cellStyle, 1, 1, 12, 12, cellRangeAddress, cell, 12, "合计(元)");
//填充数据
int rownum = 2;
for(Iterator iter = lists.iterator();iter.hasNext();){
AssignBackResponse element = (AssignBackResponse)iter.next();
row = sheet.createRow(rownum++);
row.createCell(0).setCellValue(element.getUserName());
row.createCell(1).setCellValue(element.getUserMobilePhone());
row.createCell(2).setCellValue(element.getUserAddress());
row.createCell(3).setCellValue(element.getHouseType());
/*客服*/
row.createCell(4).setCellValue(element.getDesignCostCustomer().doubleValue());
row.createCell(5).setCellValue(element.getFitmentCostCustomer().doubleValue());
row.createCell(6).setCellValue(element.getTotalCostCustomer().doubleValue());
/*销售*/
row.createCell(7).setCellValue(element.getDesignCostSeller().doubleValue());
row.createCell(8).setCellValue(element.getFitmentCostSeller().doubleValue());
row.createCell(9).setCellValue(element.getTotalCostSeller().doubleValue());
/*财务*/
row.createCell(10).setCellValue(element.getDesignCostFinance().doubleValue());
row.createCell(11).setCellValue(element.getFitmentCostFinance().doubleValue());
row.createCell(12).setCellValue(element.getTotalCostFinance().doubleValue());
row.createCell(13).setCellValue(element.getBackCostState());
}
}
}
分享到:
相关推荐
import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFPalette; ...
import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFPalette; ...
org.apache.poi JAR包,解决import org.apache.poi.hssf.usermodel.HSSFWorkbook; 支持office全系excel文件解析。 import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; ...
总之,"fr.opensagres.poi.xwpf.converter"系列库是Apache POI生态中的重要组成部分,它们使得Java开发者能够方便地处理Word文档,并将其转换为PDF格式,这在需要跨平台、保证文档格式一致性的场景下尤其有用。...
标题中的"org.apache.poi.xwpf.converter"指的是这个特定的转换库,它包含了处理XML Word Processor Format (XWPF) 文件所需的类和方法。XWPF是Apache POI用来解析和生成DOCX文件的内部表示。这个库允许开发者编程...
org.apache.poi.xwpf.converter.pdf-1.0.6.jar 文件 org.apache.poi.xwpf.converter.pdf-1.0.6 org.apache.poi.xwpf.converter.core-1.0.6 org.apache.poi.xwpf.converter-0.9.1
在给定的标题"org.apache.poi.xwpf.converter.pdf-1.0.6.jar"中,提到的是Apache POI的一个特定模块——XWPF(XML Word Processing Format),其主要关注于处理Word文档的XDOCReport库的PDF转换功能。描述中指出,这...
总的来说,"org.apache.poi.xwpf.converter.core-1.0.4.jar"是Apache POI的一个重要组件,它为Java开发者提供了解析和转换Word 2007及以上版本文档的能力,极大地扩展了Java在文档处理领域的应用范围。
使用Apache POI库时,你需要导入`org.apache.poi.*`包下的相关类,例如: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; ``` 在3.9版本中,虽然不包含最新...
这个特定的资源,"org.apache.poi.xwpf.converter-0.9.8.jar",是Apache POI项目的一个组件,专注于XWPF(XML Word Processing Format)转换器,版本为0.9.8。这个库的主要功能是将XWPF文档转换成其他格式,例如HTML...
这个"org.apache.poi"依赖包是Java开发者在处理这些文件时不可或缺的工具。它提供了丰富的API,使得在Java环境中读取、写入和操作Office文档变得轻而易举。 Apache POI 3.17 版本是该项目的一个稳定版本,包含了...
要实现.docx到HTML的转换,首先需要解压缩"org.apache.poi.xwpf.converter.core-1.0.2.jar.zip",然后在Java项目中引入这个jar文件作为依赖。接下来,可以使用以下基本步骤来执行转换: 1. 创建一个`XWPFDocument`...
在Java开发中,Apache POI库是处理Excel文件的重要工具,尤其在需要进行大量数据导入导出或自动化报告生成的场景下。"org.apache.poi-ooxml-schemas-3.9.jar" 是这个项目中的一个组件,它包含了用于解析和生成Open ...
注:下文中的 *** 代表文件名中的版本号。 # 【poi-***.jar中文文档.zip】 中包含: 中文文档:【poi-***-javadoc-...org.apache.poi.EncryptedDocumentException org.apache.poi.OldFileFormatException ...... ```
总之,Apache POI的`org.apache.poi.hssf.converter`模块是Java开发者实现Office文档到HTML转换的重要工具,尤其适用于在线预览和Web应用中对Excel、Word和PowerPoint文件的支持。正确理解和使用这些工具,可以极大...
at org.apache.poi.openxml4j.opc.internal.marshallers.PackagePropertiesMarshaller.(PackagePropertiesMarshaller.java:41) at org.apache.poi.openxml4j.opc.OPCPackage.init(OPCPackage.java:161) at org....
这个“org.apache.poi 3.17最新官方版文件操作jar包”包含了处理这些文件类型所需的Java库。下面将详细介绍Apache POI 3.17版本中的核心知识点。 1. **文件格式支持**: - Excel处理:Apache POI提供了HSSF(旧版...
注:下文中的 *** 代表文件名中的版本号。 # 【poi-***.jar中文文档.zip】 中包含: 中文文档:【poi-***-javadoc-...org.apache.poi.EncryptedDocumentException org.apache.poi.OldFileFormatException ...... ```
word转PDF 工具jar包;word模板填充字段有点小脾气,字段 需要带前后空格,或者分号/回车符结尾;不然会替换不了(你将模板转为xml文件,打开就知道原因了,可能将你的字段拆开或者加%空格之类的,需要自己main方法...
org.apache.poi:poi:4.1.2 org.apache.poi:poi-ooxml:4.1.2 org.apache.poi:poi-ooxml-schemas:4.1.2 org.apache.xmlbeans:xmlbeans:3.1.0 com.github.virtuald:curvesapi:1.06 com.zaxxer:SparseBitSet:1.2 commons...