`
witchlovelearning
  • 浏览: 4272 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

poi 定制excel

阅读更多
定制03excel文件,并设置打印格式 附件为poijar包支持excel03、07 word03及源代码文件

@param columnNameStr 示例 元素为列名称及列宽

String []columnNameStr = {"序号,4","单位名称,11","姓名,6","性别,5",
"出生日期(年月日),8","test1,4","tets2,4",
"test3,5","test4,8","审批日期,8",
"金额,4","上报人,5","经办人,5","资金来源,4",
"困难类型,4","备注,11","身份证号,17"};

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;

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.HSSFPrintSetup;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class DatatoExcel {

/**
* @param sheetName 工作簿的名称String
* @param columnNameStr String型数组,存储列名称及列宽数组    String[]
* @param valuelist 其元素为一行中各个单元格的值组成的string型list    List
* @param fileUrl excel文件存储名称及路径  例:"E:\\person.xls"    String
* @return success 0表示因为文件已存在,1表示输出到excel失败,2表示操作成功
*/
//表格定制
@SuppressWarnings("deprecation")
public  static int create03ExcelWrite(
String sheetName,
String [] columnNameStr,
List<List<String>> valueList,
String fileUrl) throws Exception{
int success = 2;
File file = new File(fileUrl);
if(file.exists()){
System.out.println("文件已存在") ;
success = 0;
}
else{
final int columnNum = columnNameStr.length; //总列数
int rowNum = 0;

// 创建Excel文档
HSSFWorkbook wb = new HSSFWorkbook() ;
HSSFSheet sheet = wb.createSheet(sheetName) ;

//定制表头字体字号
HSSFFont font_head=wb.createFont();
font_head.setFontName("宋体");
font_head.setFontHeightInPoints((short)9);
font_head.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗

//定制内容字体字号
HSSFFont font_context=wb.createFont();
font_context.setFontName("宋体");
font_context.setFontHeightInPoints((short)9);

HSSFCellStyle style_head = wb.createCellStyle();
style_head.setAlignment(HSSFCellStyle.ALIGN_CENTER);//居中
style_head.setFont(font_head);
style_head.setWrapText(true);//自动换行

HSSFCellStyle style_context = wb.createCellStyle();
style_context.setAlignment(HSSFCellStyle.ALIGN_CENTER);//居中
style_context.setFont(font_context);
style_context.setWrapText(true);//自动换行

HSSFRow firstrow = sheet.createRow(0);
firstrow.setHeightInPoints(30);//设置行高
HSSFCell[] firstColumnCell = new HSSFCell[columnNum];

if(fileUrl != null){
//表格头单元赋值
for(int i= 0; i<columnNum; i++){
String[] value = columnNameStr[i].split(",");
firstColumnCell[i] = firstrow.createCell((short)i);
firstColumnCell[i].setCellValue(value[0]);
firstColumnCell[i].setCellStyle(style_head);
sheet.setColumnWidth(i,  new Integer(value[1])*333);  //设置宽度
System.out.println(value[0]) ;
}
rowNum ++;

//填充记录
for(List<String> rowValue :valueList){

HSSFRow row = sheet.createRow(rowNum) ; // 下标为1的行开始
row.setHeightInPoints(15);//设置行高
row.createCell((short) 0).setCellValue(rowNum);//序号列的值
int j = 1;
for(String cellValue :rowValue){
cellValue += "";
HSSFCell cell = row.createCell((short) j) ;
cell.setCellValue(new HSSFRichTextString(cellValue)) ;
cell.setCellStyle(style_context);
j ++ ;
System.out.println(cellValue) ;
}
rowNum ++;
}

//设置打印格式
wb.setPrintArea(0, 0, columnNum-3, 0, rowNum-1);//设置打印区域
wb.setRepeatingRowsAndColumns(0, -1, -1, 0, 0);//设置每页的表头
sheet.setPrintGridlines(true);//全框打印
sheet.setRowBreak(25);//每页显示25条记录
sheet.setColumnHidden(columnNum-2, true);//设置打印隐藏域
sheet.setColumnHidden(columnNum-1, true);//设置打印隐藏域
HSSFPrintSetup print = sheet.getPrintSetup();
print.setPaperSize(HSSFPrintSetup.A4_PAPERSIZE);//纸张类型:A4打印
print.setLandscape(true);//打印方向:横向打印

// 创建文件输出流,准备输出电子表格
try{
OutputStream out = new FileOutputStream(fileUrl) ;
wb.write(out) ;
out.close() ;
success = 2;
System.out.println("数据导入到excel成功") ;

}catch(Exception e){
e.printStackTrace();
success = 1;
}
}
}
return success;
}
}
[align=left][/align]
分享到:
评论

相关推荐

    java的poi生成excel图表demo

    Java的Apache POI库是一个强大的工具,用于读取、创建和修改Microsoft Office格式的文件,尤其是Excel(.xlsx)文档。在本示例中,我们将深入探讨如何利用POI库来生成Excel中的图表曲线,这对于数据可视化和报告生成...

    POI使用Excel模板文件循环输出行并导出Excel

    Apache POI是一个强大的Java库,专门用于处理Microsoft ...通过循环读取数据和应用模板,我们可以快速生成大量定制化的Excel报告。在"poiDemo2"这个示例中,你可以找到具体实现这些步骤的代码,进一步学习和参考。

    POI导出Excel表格

    在实际应用中,Apache POI允许我们定制Excel表格的样式,包括字体、颜色、边框、对齐方式等。此外,还可以设置条件格式,创建图表,以及处理图片和超链接。通过深入了解和实践,你可以用Apache POI构建功能丰富的...

    基于POI的Excel多Sheet页导出导入工具类

    在实际开发中,可以参考提供的压缩包文件(excel)中的示例或文档,学习如何调用工具类的方法,以及如何根据自己的业务需求进行定制和扩展。通过不断实践和优化,这个工具类可以帮助你更高效地处理Excel相关的任务。

    apache POI 导出Excel 设置打印

    Apache POI 是一个开源库,专门用于处理...通过这些步骤,我们可以利用Apache POI导出包含定制打印设置的Excel文件,从而满足特定的打印需求。这在报表生成、数据分析或其他需要批量处理Excel的场景中非常有用。

    Springboot+Poi实现Excel的导入导出

    而Apache POI是用于处理Microsoft Office格式文件的Java库,包括Excel。本项目结合了Spring Boot和POI,实现了Excel文件的导入与导出功能,这在数据管理、报表生成、数据分析等领域十分常见。 首先,我们要理解...

    使用POI在Excel中动态生成图表工具类(支持柱状、组合、环状图、折线图、等常用图)

    在Java开发中,Apache POI库是一个非常实用的工具,用于读取和写入Microsoft Office格式的文件,尤其是Excel(.xlsx和.xls)文件。本教程将深入讲解如何使用POI来动态地在Excel中创建各种图表,包括柱状图、组合图、...

    poi 操作excel案例 直接运行 适合参考

    标题中的“poi操作excel案例”指的是使用Apache POI库来处理Excel文件的示例项目。Apache POI是一个开源的Java库,它允许开发者创建、修改和显示Microsoft Office格式的文件,包括Excel工作簿(XLS和XLSX)。在这个...

    java 利用poi导出EXCEL

    POI提供了多种方式来定制单元格样式,包括字体、颜色、对齐方式等: ```java CellStyle style = workbook.createCellStyle(); style.setFillForegroundColor(IndexedColors.YELLOW.getIndex()); style....

    java利用poi对excel进行导入导出

    Java POI 是一个开源库,专门用于处理Microsoft Office格式的文件,尤其是Excel。在Java世界中,当你需要读取、写入或者修改Excel文件时,POI库是首选工具之一。下面将详细介绍如何使用Java POI对Excel进行导入和...

    poi复制指定行数的Excel表格内容

    在IT行业中,处理电子表格数据是一项常见的任务,尤其是在大数据分析、报表生成以及自动化流程中。Apache POI 是一个流行的开源库,它...通过理解和实践这些步骤,你可以创建出自己的Excel复制工具,满足各种定制需求。

    jxls-poi导出excel示例代码文件

    总的来说,`jxls-poi`是Java开发者处理Excel数据的强大工具,尤其适用于需要频繁从后端生成定制化报表的场景。结合JSON数据的灵活性,它可以简化数据导出的过程,提高开发效率。在实际项目中,根据需求调整模板和...

    使用POI进行Excel文件下载的示例工程

    在Java开发中,Apache POI库是一个非常实用的工具,用于读取和写入Microsoft Office格式的文件,尤其是Excel文档。本示例工程"使用POI进行Excel文件下载"是针对那些希望在Web应用程序中生成并提供用户下载Excel文件...

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

    在本示例中,我们将探讨如何使用Apache POI库从数据库导出数据到Excel表格,这在数据分析、报告生成或批量数据处理场景中非常常见。Apache POI是一个开源项目,它允许Java开发者创建、修改和显示Microsoft Office...

    Excel POI 工具类

    在Java开发中,Apache POI 是一个非常流行的库,它允许程序员创建、修改和显示Microsoft Office格式的文件,特别是Excel工作簿(.xlsx 和 .xls 文件)。本篇将深入探讨"Excel POI 工具类",这个工具类旨在简化日常的...

    JXL 和 POI 操作Excel 表格

    JXL适合对Excel功能需求不高的简单应用,而Apache POI则更适合需要深度定制和广泛支持Excel特性的复杂场景。选择哪一个取决于具体项目的需求和性能要求。在实际开发中,开发者可以根据项目需求和性能评估来决定使用...

    java_poi导入excel通用工具类

    总结,这个“java_poi导入excel通用工具类”结合了Apache POI的强大功能,Java的反射机制,以及自定义注解的灵活性,为Java开发者提供了一种高效、可定制的Excel数据导入解决方案。通过这样的工具类,我们可以轻松地...

    用POI实现excel表格的定制化和模板化开发

    1. 该工具的目的在于支持excel表格的定制化开发,提供了基本默认样式类、以及公共模板类,加速不同样式表格的生成,很适合表格复杂多变的场景; 2. 数据、样式、excel模板分离,可分别配置,可任意组合复用; 3. ...

Global site tag (gtag.js) - Google Analytics