转载至:
http://www.4ucode.com/Study/Topic/697242
ackage test;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.util.CellRangeAddress;
public class CreateCells {
/**
* 文档对象 HSSFWorkbook ;表单对象 HSSFSheet ;行对象 HSSFRow ;列对象 HSSFCell
* excell的格子单元 HSSFFont excell字体 HSSFName 名称 HSSFDataFormat 日期格式 HSSFHeader
* sheet头 HSSFFooter sheet尾 HSSFCellStyle cell样式
*/
public static void main(String[] args) throws IOException {
// 建立新HSSFWorkbook对象
HSSFWorkbook workbook = new HSSFWorkbook();
// 建立新的sheet对象
// Create a row and put some cells in it.Rows are 0 based.
HSSFSheet sheet = workbook.createSheet("表单1");
// 建立新行
// Create a cell and put a value in it.
HSSFRow row = sheet.createRow((short) 0);
//修改当前行 默认行高 列宽
//行高
sheet.setDefaultRowHeightInPoints(10);
//列款宽
sheet.setDefaultColumnWidth(10);
//设置特定单元格的宽度
sheet.setColumnWidth(4, 20*256);
sheet.setColumnWidth(5, 30*256);
sheet.setColumnWidth(6, 30*256);
// 整数类型的cell样式
//HSSFDataFormat.getBuiltinFormat("0.00") 字符串的内容是 Excel有的格式
HSSFCellStyle numStyle = workbook.createCellStyle();
numStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("0"));
//创建1列
HSSFCell cellNum = row.createCell(0);
cellNum.setCellValue(1);
cellNum.setCellStyle(numStyle);
// 浮点类型的cell样式
HSSFCellStyle doubleStyle = workbook.createCellStyle();
doubleStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00"));
HSSFCell cellDouble = row.createCell(1);
cellDouble.setCellValue(1.2);
cellDouble.setCellStyle(doubleStyle);
//字符串类型的cell样式
HSSFCellStyle stringStyle = workbook.createCellStyle();
stringStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("G/通用格式"));
HSSFCell cellString= row.createCell(2);
cellString.setCellValue("test");
cellString.setCellStyle(stringStyle);
//添加cell布尔类型的值
row.createCell(3).setCellValue(true);
//日期类型的cell样式 yyyy-m-d h:mm:ss AM/PM
HSSFCellStyle dateStyle = workbook.createCellStyle();
dateStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"));
HSSFCell dCell = row.createCell(4);
dCell.setCellValue(new Date());
dCell.setCellStyle(dateStyle);
//设置cell编码解决中文高位字节截断
HSSFCell csCell = row.createCell(5);
csCell.setCellType(HSSFCell.ENCODING_UTF_16);
csCell.setCellValue("中文测试_Chinese Words Test");
// 设置 背景色 边框
HSSFCellStyle style1 = workbook.createCellStyle();
//前景色和后景色都要有 否则会出网格
style1.setFillForegroundColor(new HSSFColor.YELLOW().getIndex());
style1.setFillBackgroundColor(new HSSFColor.YELLOW().getIndex());
//设置边框
style1.setBorderBottom((short) 1);
style1.setBorderTop((short) 1);
style1.setBorderLeft((short) 1);
style1.setBorderRight((short) 1);
//问题:用poi将一个cell中的字体设置成了红色,结果用excell打开后,这个cell中只有前面一个或几个字为红色
//HSSFFont font = workbook.createFont(); font.setColor(HSSFFont.COLOR_RED);
//先從Cell中把HSSFRichTextString取出來
//然后HSSFRichTextString對象.applyFont(font)
//最后再把HSSFRichTextString對象set回到cell中就行了。。。。。
//设置字体样式=====================================
HSSFFont font = workbook.createFont();
//字体位置 上 下 左 右
//font.setTypeOffset((short)0);
//字体宽度
font.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);
//字体高度
font.setFontHeightInPoints((short)8);
//字体颜色
font.setColor(HSSFFont.COLOR_RED);
//=================================================
style1.setFont(font);
/**
* 注意这句代码, style1.setFillPattern, 如果你在你的程序中不设置fill pattern,那么
* 你上面设置的前景色和背景色就显示不出来.网络上很多文章都没有设置fillpattern
* 如果不改变样式 不需要添加(如:居中)
*/
style1.setFillPattern(HSSFCellStyle.SPARSE_DOTS);
HSSFCell cellCH = row.createCell(6);
cellCH.setCellValue("中文测试_Chinese Words Testsss");
cellCH.setCellStyle(style1);
//货币样式
HSSFCellStyle moneyStyle = workbook.createCellStyle();
moneyStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0"));
HSSFCell cell12 = row.createCell(7);
cell12.setCellValue((double) 10000000);
cell12.setCellStyle(moneyStyle);
// 错误显示
row.createCell(8).setCellType(HSSFCell.CELL_TYPE_ERROR);
//合并单元格
int startRowNo=0;
int endRowNo=0;
int startCellNo=9;
int endCellNo=10;
sheet.addMergedRegion(new CellRangeAddress(startRowNo, endRowNo,startCellNo, endCellNo));
HSSFCell cell = row.createCell(9);
cell.setCellValue("合并");
//即垂直居中对齐且水平居中对齐 居中后背景颜色变化了
HSSFCellStyle style = workbook.createCellStyle();
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平
//如果不改变样式 不需要添加
//style.setFillPattern(HSSFCellStyle.SPARSE_DOTS);
cell.setCellStyle(style);
FileOutputStream fileOut = new FileOutputStream("e:/workbook.xls");
workbook.write(fileOut);
fileOut.close();
}
}
分享到:
相关推荐
在标题“android中poi生成word文档和excel文档”中提到的使用POI库生成Word和Excel文档,主要涉及到以下几个关键知识点: 1. **Apache POI 概述**:Apache POI 是一个开源项目,提供了一套API,用于读写Microsoft ...
在本实例中,我们将关注使用 Apache POI 来生成 Excel 报表。这个简单的 POI 实例非常适合初学者参考,它能帮助你快速理解和应用 POI 库。 首先,让我们了解 POI 的核心组件——HSSF 和 XSSF。HSSF 是用来处理 .xls...
Apache POI 是一个开源项目,专门用于处理微软的Office文档格式,如Word(.doc, .docx)、Excel(.xls, .xlsx)以及PowerPoint(.ppt, .pptx)。在本“poi操作ppt生成图表完整工程”中,我们将会深入探讨如何使用...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Word(.doc, .docx)、Excel(.xls, .xlsx)和PowerPoint(.ppt, .pptx)。这个压缩包中的文档和PDF提供了关于如何使用Apache POI进行操作的...
在这个场景中,你提到的"POI生成doc文档和docx文档相关jar包"是指使用Apache POI库在Android平台上创建Word文档的开发资源。 Apache POI提供了Java API,使得开发者可以在不依赖Microsoft Office的情况下,读取、...
在Java编程环境中,生成XLS文件(Excel 97-2003格式)是一项常见的任务,特别是在数据处理、报表生成或数据导出时。XLS文件格式是Microsoft Excel广泛使用的早期版本,允许用户存储表格数据、公式以及图表。本教程将...
总的来说,Java POI为开发者提供了强大的工具,可以方便地在Java程序中操作Excel和Word文档,实现数据导入导出、报告生成等多种功能。通过不断实践和学习,你可以掌握更多的技巧,满足更复杂的业务需求。
这个“POI 生成、解析excel,demo”很显然是一个使用 Apache POI 库创建和解析 Excel 文档的示例。Apache POI 提供了 Java API,使得开发者能够方便地在 Java 应用程序中读取、写入以及修改 Excel 文件,无论是老版本...
1. **Excel处理**:POI提供HSSF和XSSF两个API,分别用于处理老版本的.BIFF8格式(.xls)和新版本的OOXML格式(.xlsx)。你可以创建新的工作簿,添加工作表,插入单元格,设置公式,格式化样式,以及读取和修改现有...
总的来说,Apache POI是Java开发人员处理Office文件的强大工具,无论你是要自动化报告生成、数据导入导出还是进行其他相关操作,它都能提供丰富的API和功能。通过不断实践和学习,你将能够充分利用这个库,实现更多...
在IT行业中,Apache POI 是一个非常著名的Java库,它允许开发者读取、写入和修改Microsoft Office格式的文件,包括Excel(XLS和XLSX)。本话题聚焦于使用POI来动态生成带有下拉菜单的Excel导入模板,这在数据处理、...
Apache POI 是一个开源项目,专门用于处理微软的Office文档格式,如Word(.doc 和 .docx)、Excel(.xls 和 .xlsx)以及PowerPoint(.ppt 和 .pptx)。在Java环境中,POI 提供了API来读取、创建和修改这些文档。本...
例如,可以创建一个服务接口,接收请求参数,使用POI生成Excel文件,并返回给前端下载。 总的来说,Apache POI是一个强大且灵活的工具,它使得Java开发者在处理Office文档时有了更多的可能性。通过熟练掌握POI,...
在本实例源码中,我们将深入探讨如何利用POI进行Excel的读写操作,这对于数据处理、报告生成或者自动化任务尤其有用。下面我们将详细讲解相关知识点。 **1. Apache POI介绍** Apache POI是一个开源项目,它提供了...
首先,这个项目的核心在于读取txt文件并生成xls文件。txt文件通常用于存储纯文本数据,而xls文件是Microsoft Excel用于存储表格数据的格式。在这个实例中,开发者可能使用Java的IO流来读取txt文件的内容,并使用...
这个"poi生成excel表格加上写的一个生成类库"可能是某位开发者基于Apache POI创建的自定义工具库,用于简化和优化Excel文件的生成过程。 Apache POI 提供的主要类有 HSSFWorkbook(用于处理老版本的 .xls 文件)和 ...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Excel(.xlsx, .xls),Word(.doc, .docx)和PowerPoint(.ppt, .pptx)。这个“POI实例+JAR+API”可能包含了一些关于如何使用Apache POI...
本示例将详细介绍如何在JSP中利用POI库生成Excel文件,并直接在浏览器中导出。 首先,确保在项目中已经引入了Apache POI的依赖库。POI提供了对Excel 2003(HSSF)和Excel 2007以上版本(XSSF)的支持。在这个示例中...
【标题】:poi实例 【描述】:在Java开发中,Apache POI 是一个非常流行的库,用于处理Microsoft Office格式的文件,特别是Excel。本实例将深入探讨如何使用Apache POI来导出数据到Excel,并在Servlet环境中实现这...
在Java编程环境中,处理Excel(通常指xls格式,属于老版本的Microsoft Office Excel)文件是一项常见的任务,尤其在数据导入导出、报表生成或者数据分析等场景。本篇将详细讲解如何使用Java进行xls文件的操作,并...