参考:易百教程https://www.yiibai.com/apache_poi/apache_poi_workbooks.html
主要Jar包下载:http://poi.apache.org/download.html
HSSFWorkbook:这个类由读写.xls格式文件的方法。
XSSFWorkbook:这个类有读写.xls和。xlsx的方法。
HSSFWorkbook
这个类在org.apache.poi.hssf.usermodel包中,实现了Workbook接口,用于对.xls文件的操作
构造方法:
HSSFWorkbook() 从头开始创建一个新的HSSFWorkbook对象
HSSFWorkbook(DirectoryNode directory,boolean preserveNodes)创建一个特定的目录中一个新的HSSFWorkbook对象
HSSFWorkbook(DirectoryNode directory,POIFSFileSystem fs,boolean preserveNodes)给定一个POIFSFileSystem对象和特定的目录中,创建一个HSSFWorkbook对象读取一个指定的工作薄
HSSFWorkbook(java.io.InputStream s) 创建使用输入流中的HSSFWorkbook对象
HSSFWorkbook(java.io.InputStream s,boolean preserveNodes)构建在输入流的POI文件系统
HSSFWorkbook(POIFSFileSystem fs)使用POIFSFileSystem对象构造HSSFWorkbook对象
HSSFWorkbook(POIFSFileSystem fs,boolean preserveNodes)给定一个POIFSFileSystem对象时,它创建一个新的HSSFWorkbook对象时读取指定的工作薄
说明:directory:这是从POI文件系统处理的目录
fs:它是包含薄流该POI的文件系统
preservenods 这是决定是否保留其他节点像宏的可选参数,它消耗大量的内存,因为它存储在内存中所有POIFileSystem
XSSFWorkbook
构造方法:
XSSFWorkbook()从头开始创建一个新的XSSFWorkbook对象
XSSFWorkbook(java.io.File file)构造从给定文件中的XSSFWorkbook对象
XSSFWorkbook(java.io.InputStream is)构造一个XSSFWorkbook对象,通过缓冲整个输入流到内存中,然后为它打开一个OPCPackage对象
XSSFWorkbook(java.lang.String path)构建一个给定文件完整路径的XSSFWorkbook对象
方法:
creatSheet()创建一个XSSFSheet的工作薄,将其添加到表,并返回高层表示
createSheet(String sheetName)创建一个工作薄带名字的新表,并返回高层显示
createFont()创建一个新的字体,并将其添加到工作薄的字体表中
crateCellStyle()创建一个新的XSSFCellStyle并将其添加到工作薄的样式表中
setPrintArea(int sheetIndex,int startColumn,int endColumn,int startRow,int endRow)设置一个给定的表按照指定的参数打印区域
Sheet:
Sheet时org.apache.poi.ss.usermode包的接口,它时创建具有特定名称的高或者低级别的电子表格的所有类的超接口。
HSSFSheet
这是org.apache.poi.ss.usermode包的类,它可以创建Excle表格,它允许在sheet方式和表格数据数据格式。
构造方法:
HSSFSheet(HSSFWorkbook wb)创建新HSSFSheet通过调用HSSFWorkbook从头开始创建一个表
HSSFSheet(HSSFWorkbook wb,InternalSheet sheet)创建HSSFSheet,给定表的对象
XSSFSheet
这在org.apache.poi.hssf.usermodel包下,代表了Excel电子表格的高级别代表的一类。
构造方法:
XSSFSheet()创造了新的XSSFSheet调用XSSFWorkbook从头开始创建一个表
XSSFSheet(PackagePart part, PackageRelationship rel)创建XSSFSheet表示给定包的一部分和关系。
方法:
addMergedRegion(CellRangeAddress region)添加单元的合并区域(因此这些单元格合并形成一个)
autoSizeColumn(int column)调整列宽,以适应的内容
iterator()此方法是用于rowIterator()的别名,以允许foreach循环
addHyperlink(XSSFHyperlink hyperlink)注册超链接的集合中的超链接此工作表格上
HSSFRow行:
这是在org.apache.poi.xssf.usermodel包的接口。
XSSFRow:
这是在org.apache.poi.xssf.usermodel包的类,实现了Row接口,可以创建行。
createCell(int columnIndex)创建新单元行并返回
setHeight(short height)设置短单位的高度
HSSFCell单元格:
这是在org.apache.poi.ss.usermodel包的接口。单元格可以使用任何属性,如:空白,数字,日期,错误等单元格被添加到一个行之前应具有自己的编号。
XSSFCell
这是在 org.apache.poi.xssf.usermodel 包的类
字段摘要:
CELL_TYPE_BYANK 代表空白单元格
CELL_TYPE_BOOLEAN 代表布尔单元(true或false)
CELL_TYPE_ERROR 代表单元格的误差值
CELL_TYPE_FORMULA 代表一个单元格公式的结果
CELL_TYPE_NUMERIC 代表一个单元的数字数据
CELL_TYPE_STRING 代表一个单元串(文本)
方法:
setCellStyle(CellStyle style)为单元格设置样式
setCellType(int cellType) 设置单元格的类型(数字,公式或者字符串)
setCellValue(boolean value)设置单元格一个布尔值
setCellValue(Calendar value)设置一个日期格式的单元格
setCellValue(double value)设置单元格的数值
setCellValue(String str)设置单元格的字符串值
setHyperlink(Hyperlink link)分配超链接到该单元格
XSSFCellStyle
这是在org.apache.poi.xssf.usermodel包的类。实现CellStyle接口
字段摘要:
ALIGN_CENTER 中心对齐单元格内容
ALIGN_CENTER_SELECTION 中心选择水平对齐方式
ALIGN_FILL 单元格适应于内容的大小
ALIGN_JUSTIFY 适应单元格内容的宽度
ALIGN_LEFT 左对齐单元格内容
ALIGN_RIGHT 右对齐单元格内容
BORDER_DASH_DOT 使用破折号和点单元格样式
BORDER_DOTTED 用虚线边框的单元格样式
BORDER_DASHED 用虚线边框的单元格样式
BORDER_THICK 厚厚的边框单元格样式
BORDER_THIN 薄边框的单元格样式
VERTICAL_BOTTOM 对齐单元格内容的垂直下方
VERTICAL_CENTER 对齐单元格内容垂直居中
VERTICAL_JUSTIFY 对齐和垂直对齐的单元格内容
VERTICAL_TOP 顶部对齐为垂直对齐
构造方法:
XSSFCellStyle(int cellXfId,int cellStyleXfId,StylesTable stylesSource,ThemesTable theme)创建一个单元格样式,从中提供部分
XSSFCellStyle(StyleTable stylesSource)创建一个空的单元格样式
方法:
setAlignment(short align)设置单元格为水平对齐的类型
setBorderBottom(short border)设置边界的类型的单元格下边框
setBorderColor(XSSFCellBorder.BorderSide side,XSSFColor color)选定的边框颜色
setBorderLeft(Short border)设置边界的类型单元格的左边框
setBorderRight(short border)设置边框的类型为单元格的右边界
setBorderTop(short border)设置边界的类型的单元格上边框
setFillForegroundColor(XSSFColor color)设置表示为XSSFColor的值前景填充颜色
setFillPattern(short fp)指定单元格的填充信息模式和纯色填充单元
setFont(Font font)设置此样式的字体
setRotation(short rotation)设置的旋转为在单元格中文本的程度
setVerticalAlignment(short align)设置单元格类型为垂直取向
HSSFColor
这是在org.apache.poi.hssf.util包的类。
嵌套类:
所有的嵌套类都是静态的,每个类都有其索引,这些嵌套色类用于单元格格式,如单元格内容、边框、前背景和背景
如:
HSSFColor.AQUA
HSSFColor.AUTOMATIC
HSSFColor.BLACK
HSSFColor.BLUE
HSSFColor.BRIGHT_GREEN
HSSFColor.BRIGHT_GRAY
HSSFColor.CORAL
HSSFColor.DARK_BLUE
HSSFColor.DARK_GREEN
HSSFColor.SKY_BLUE
HSSFColor.EHITE
HSSFColor.YELLOW
类方法:
getIndex()获取一个嵌套类的索引值
XSSFColor
这是在org.apache.poi.xssf.usermodel包的类。它是用来表示在电子表格中的颜色。它实现了颜色的接口。
构造方法:
XSSFColor()创建XSSFColor的新实例
XSSFColor(byte[] rgb) 创建XSSFColor使用RGB的新实例
XSSFColor(java.awt.Color clr)创建XSSFColor使用Color类从AWT包的新实例
方法:
setAuto(boolean auto)设置一个布尔值,表示ctColor是自动的,系统ctColot依赖
setIndexed(int indexed)设置索引ctColor值系统ctColor
XSSFFont
这是在org.apache.poi.xssf.usermodel包的类。它实现了Font接口,因此它可以处理工作簿中不同的字体
构造方法:
XSSFont()创建一个新的XSSFont()实例
方法:
setBold(boolean bold)设置"bold"属性的布尔值
setColor(short color)设置索引颜色的字体
setColor(XSSFColor color)设置为标准Alpha RGB颜色值得字体颜色
setFontHeight(short height)设置在点的字体高度
setFontName(String name)设置字体的名称
setItalic(boolean italic)设置"italic"属性一个布尔值
XSSFHyperlink
这是在org.apache.poi.xssf.usermodel包的类。它实现了Hyperlink接口。它是用来连结设置为电子表格的单元格内容。
字段:
LINK_DOCUMENT 用于连接任何其他文件
LINK_EMAIL 用于链接的电子邮件
LINK_FILE 用于以任何格式链接任何其他文件
LINK_URL 用于连接一个网页URL
方法:
setAddress(String address)超链接地址
XSSFCreationHelper
这是在org.apache.poi.xssf.usermodel包的类。它实现了CreationHelper接口。它被用作公式求值和设置超文本链接支持类。
方法:
createFormulaEvaluator()创建一个XSSFormulaEvaluator,例如,结果计算公式的单元格的对象
createHyperlink(int type)创建一个新的XSSFHyperlink
XSSFPrintSetup
这是在org.apache.poi.xsssf.usermodel包下的类。它实现了PrintSetup接口。它是用来设置打印页面大小,面积,选项和设
置。
方法:
setLandscape(boolean is)设置一个布尔值,允许或组织横向打印
setLeftToRight(boolean itor)设置是否向左走向右或者自上而下的顺序,同时打印
setPaperSize(short size)设置纸张尺寸
XSSFCellStyle
这是在org.apache.poi.xssf.usermodel包的类。实现CellStyle接口
字段摘要:
ALIGN_CENTER 中心对齐单元格内容
ALIGN_CENTER_SELECTION 中心选择水平对齐方式
ALIGN_FILL 单元格适应于内容的大小
ALIGN_JUSTIFY 适应单元格内容的宽度
ALIGN_LEFT 左对齐单元格内容
ALIGN_RIGHT 右对齐单元格内容
BORDER_DASH_DOT 使用破折号和点单元格样式
BORDER_DOTTED 用虚线边框的单元格样式
BORDER_DASHED 用虚线边框的单元格样式
BORDER_THICK 厚厚的边框单元格样式
BORDER_THIN 薄边框的单元格样式
VERTICAL_BOTTOM 对齐单元格内容的垂直下方
VERTICAL_CENTER 对齐单元格内容垂直居中
VERTICAL_JUSTIFY 对齐和垂直对齐的单元格内容
VERTICAL_TOP 顶部对齐为垂直对齐
构造方法:
XSSFCellStyle(int cellXfId,int cellStyleXfId,StylesTable stylesSource,ThemesTable theme)创建一个单元格样式,从中提供部分
XSSFCellStyle(StyleTable stylesSource)创建一个空的单元格样式
方法:
setAlignment(short align)设置单元格为水平对齐的类型
setBorderBottom(short border)设置边界的类型的单元格下边框
setBorderColor(XSSFCellBorder.BorderSide side,XSSFColor color)选定的边框颜色
setBorderLeft(Short border)设置边界的类型单元格的左边框
setBorderRight(short border)设置边框的类型为单元格的右边界
setBorderTop(short border)设置边界的类型的单元格上边框
setFillForegroundColor(XSSFColor color)设置表示为XSSFColor的值前景填充颜色
setFillPattern(short fp)指定单元格的填充信息模式和纯色填充单元
setFont(Font font)设置此样式的字体
setRotation(short rotation)设置的旋转为在单元格中文本的程度
setVerticalAlignment(short align)设置单元格类型为垂直取向
HSSFColor
这是在org.apache.poi.hssf.util包的类。
嵌套类:
所有的嵌套类都是静态的,每个类都有其索引,这些嵌套色类用于单元格格式,如单元格内容、边框、前背景和背景
如:
HSSFColor.AQUA
HSSFColor.AUTOMATIC
HSSFColor.BLACK
HSSFColor.BLUE
HSSFColor.BRIGHT_GREEN
HSSFColor.BRIGHT_GRAY
HSSFColor.CORAL
HSSFColor.DARK_BLUE
HSSFColor.DARK_GREEN
HSSFColor.SKY_BLUE
HSSFColor.EHITE
HSSFColor.YELLOW
类方法:
getIndex()获取一个嵌套类的索引值
XSSFColor
这是在org.apache.poi.xssf.usermodel包的类。它是用来表示在电子表格中的颜色。它实现了颜色的接口。
构造方法:
XSSFColor()创建XSSFColor的新实例
XSSFColor(byte[] rgb) 创建XSSFColor使用RGB的新实例
XSSFColor(java.awt.Color clr)创建XSSFColor使用Color类从AWT包的新实例
方法:
setAuto(boolean auto)设置一个布尔值,表示ctColor是自动的,系统ctColot依赖
setIndexed(int indexed)设置索引ctColor值系统ctColor
XSSFFont
这是在org.apache.poi.xssf.usermodel包的类。它实现了Font接口,因此它可以处理工作簿中不同的字体
构造方法:
XSSFont()创建一个新的XSSFont()实例
方法:
setBold(boolean bold)设置"bold"属性的布尔值
setColor(short color)设置索引颜色的字体
setColor(XSSFColor color)设置为标准Alpha RGB颜色值得字体颜色
setFontHeight(short height)设置在点的字体高度
setFontName(String name)设置字体的名称
setItalic(boolean italic)设置"italic"属性一个布尔值
XSSFHyperlink
这是在org.apache.poi.xssf.usermodel包的类。它实现了Hyperlink接口。它是用来连结设置为电子表格的单元格内容。
字段:
LINK_DOCUMENT 用于连接任何其他文件
LINK_EMAIL 用于链接的电子邮件
LINK_FILE 用于以任何格式链接任何其他文件
LINK_URL 用于连接一个网页URL
方法:
setAddress(String address)超链接地址
XSSFCreationHelper
这是在org.apache.poi.xssf.usermodel包的类。它实现了CreationHelper接口。它被用作公式求值和设置超文本链接支持类。
方法:
createFormulaEvaluator()创建一个XSSFormulaEvaluator,例如,结果计算公式的单元格的对象
createHyperlink(int type)创建一个新的XSSFHyperlink
XSSFPrintSetup
这是在org.apache.poi.xsssf.usermodel包下的类。它实现了PrintSetup接口。它是用来设置打印页面大小,面积,选项和设
置。
方法:
setLandscape(boolean is)设置一个布尔值,允许或组织横向打印
setLeftToRight(boolean itor)设置是否向左走向右或者自上而下的顺序,同时打印
setPaperSize(short size)设置纸张尺寸
总结:
常用实例及对象创建:
(1)HSSFWorkbook demoWorkBook = new HSSFWorkbook();// 创建一个excel对象
(2)HSSFSheet demoSheet = demoWorkBook.createSheet("sheet名称");// 创建一个sheet对象,可创建多个
(3)HSSFRow row = demoSheet.createRow((short) index); //创建excel行,index为第几行,从0开始
(4)HSSFCell cell = row.createCell(i);// 创建第row行的第i个单元格,i从0开始
(5)单元格内容的设置:
HSSFCellStyle cellStyle2 = demoWorkBook.createCellStyle();//创建单元格样式
HSSFDataFormat format = demoWorkBook.createDataFormat();//创建数据格式
cellStyle2.setDataFormat(format.getFormat("@"));//字符串类型所对应的是数据格式为"@"
cell.setCellStyle(cellStyle2);//给cell赋样式
cell.setCellValue(cells.get(i));//给单元格赋值