`

POI操作的一些中级操作[转]

阅读更多
本篇文章来自于网络:

1、遍历workbook

// load源文件  
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(filePath));  
HSSFWorkbook wb = new HSSFWorkbook(fs);  
for (int i = 0; i < wb.getNumberOfSheets(); i++) {  
    HSSFSheet sheet = wb.getSheetAt(i);  
    for (int i = sheet.getFirstRowNum(); i < sheet.getLastRowNum(); i ++) {  
    HSSFRow row = sheet.getRow(i);  
            if (row != null) {  
        。。。操作}  
       }  
     }  
// 目标文件  
FileOutputStream fos = new FileOutputStream(objectPath);  
//写文件  
swb.write(fos);  
fos.close();  



2、得到列和单元格
HSSFRow row = sheet.getRow(i);  
HSSFCell cell = row.getCell((short) j);  



3、设置sheet名称和单元格内容为中

wb.setSheetName(n, "中文",HSSFCell.ENCODING_UTF_16);      
cell.setEncoding((short) 1);  
cell.setCellValue("中文");  



4、单元格内容未公式或数值,可以这样读写

cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC); 
cell.getNumericCellValue() 




5、设置列宽、行高

sheet.setColumnWidth((short)column,(short)width);  
row.setHeight((short)height); 




6、添加区域,合并单元格

Region region = new Region((short)rowFrom,(short)columnFrom,(short)rowTo,(short)columnTo);  
sheet.addMergedRegion(region);  
//得到所有区域  
sheet.getNumMergedRegions()  



7、常用方法
根据单元格不同属性返回字符串数值
public String getCellStringValue(HSSFCell cell) {  
        String cellValue = "";  
        switch (cell.getCellType()) {  
        case HSSFCell.CELL_TYPE_STRING:  
            cellValue = cell.getStringCellValue();  
            if(cellValue.trim().equals("")||cellValue.trim().length()<=0)  
                cellValue=" ";  
            break;  
        case HSSFCell.CELL_TYPE_NUMERIC:  
            cellValue = String.valueOf(cell.getNumericCellValue());  
            break;  
        case HSSFCell.CELL_TYPE_FORMULA:  
            cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);  
            cellValue = String.valueOf(cell.getNumericCellValue());  
            break;  
        case HSSFCell.CELL_TYPE_BLANK:  
            cellValue=" ";  
            break;  
        case HSSFCell.CELL_TYPE_BOOLEAN:  
            break;  
        case HSSFCell.CELL_TYPE_ERROR:  
            break;  
        default:  
            break;  
        }  
        return cellValue;  
    }  


8、常用单元格边框格式

虚线HSSFCellStyle.BORDER_DOTTED
实线HSSFCellStyle.BORDER_THIN

public static HSSFCellStyle getCellStyle(short type)  
    {     
       HSSFWorkbook wb = new HSSFWorkbook();  
       HSSFCellStyle style = wb.createCellStyle();  
       style.setBorderBottom(type);//下边框   
        style.setBorderLeft(type);//左边框   
        style.setBorderRight(type);//右边框   
        style.setBorderTop(type);//上边框   
       return style;  
    }  


9、设置字体和内容位置
 
HSSFFont f  = wb.createFont();  
f.setFontHeightInPoints((short) 11);//字号  
f.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);//加粗  
style.setFont(f);  
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//左右居中  
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//上下居中  
style.setRotation(short rotation);//单元格内容的旋转的角度  
HSSFDataFormat df = wb.createDataFormat();  
style1.setDataFormat(df.getFormat("0.00%"));//设置单元格数据格式  
cell.setCellFormula(string);//给单元格设公式  
style.setRotation(short rotation);//单元格内容的旋转的角度  
cell.setCellStyle(style);  


10、插入图片
论坛里看到的
//先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray  
      ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();  
      BufferedImage bufferImg = ImageIO.read(new File("ok.jpg"));  
      ImageIO.write(bufferImg,"jpg",byteArrayOut);  
//读进一个excel模版  
FileInputStream fos = new FileInputStream(filePathName+"/stencil.xlt");   
fs = new POIFSFileSystem(fos);  
//创建一个工作薄  
HSSFWorkbook wb = new HSSFWorkbook(fs);  
HSSFSheet sheet = wb.getSheetAt(0);  
HSSFPatriarch patriarch = sheet.createDrawingPatriarch();  
HSSFClientAnchor anchor = new HSSFClientAnchor(0,0,1023,255,(short) 0,0,(short)10,10);       
patriarch.createPicture(anchor , wb.addPicture(byteArrayOut.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG));  
分享到:
评论

相关推荐

    POI操作PPT文档(导入,导出,读取,添加,拼接,替换文本,页面排序)

    POI 操作 PPT 文档(导入、导出、读取、添加、拼接、替换文本、页面排序) POI(Apache POI)是一款开源的Java库,用于读取和写入各种Microsoft Office文件格式,包括PPT文档。本文档将介绍如何使用POI操作PPT文档...

    poi操作excel2007

    接下来,我们将讨论如何使用Apache POI操作Excel 2007(.xlsx)文件的主要步骤: 1. **创建Workbook对象**:这是Excel工作簿的Java表示。你可以使用`XSSFWorkbook`类来创建一个新的Excel工作簿。 ```java import...

    利用java poi操作ppt

    在这个特定的话题中,我们将深入探讨如何利用Java POI来操作PPT(PowerPoint)文件。以下是关于这个主题的详细讲解: 1. **创建新的PPT文档** 使用Java POI创建一个新的PPT文档首先需要引入相关的库,例如`poi-...

    poi操作word模板

    在"poi操作word模板"的场景中,我们主要关注如何使用Apache POI库来自动化填充Word文档模板,这在批量生成报告、合同或其他需要标准化格式但需个性化数据的文档时非常有用。 首先,理解Apache POI的基本概念是必要...

    poi 操作文档jar包

    下面将详细介绍Apache POI的一些核心知识点。 **Apache POI简介** Apache POI是Apache软件基金会的一个项目,它提供了API,让开发者可以使用Java来处理Microsoft Office格式的文件。主要支持的格式包括: 1. **...

    poi操作ppt图表.zip

    在这个"poi操作ppt图表.zip"的压缩包中,我们很显然会涉及到如何使用Apache POI库来操作PowerPoint文件中的图表。以下是对这一主题的详细讲解: 首先,Apache POI提供了HSLF(用于低级API,处理老版本的*.ppt文件)...

    poi操作ppt图表史上最完整示例演示.zip

    在这个"poi操作ppt图表史上最完整示例演示.zip"压缩包中,我们主要关注的是如何使用Apache POI库来操作PowerPoint中的图表,包括圆饼图、柱状图、线性图和面积图。这些图表是数据可视化的重要工具,有助于更好地理解...

    poi操作ppt完整示例程序

    在本示例程序中,我们关注的是如何使用Java和Apache POI库来操作PowerPoint(PPT)文件。POI 提供了丰富的API,使得开发者能够创建、修改、读取和展示PPT文件,而无需依赖Microsoft Office。 首先,我们需要理解...

    poi 操作excel模板

    本篇将深入探讨如何利用Apache POI来操作Excel模板,以及如何读取数据并将其填充到新生成的文件中,最终提供下载。 首先,你需要在项目中引入Apache POI的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下...

    poi excel转html

    poi提供了excel转html的代码,但是吧,有好多问题。当有合并单元格时边框获取不到,单元格内的字体样式也转换不了,现在对poi提供的Tohtml.java做了一些修改,修复了这些问题,记录下,以备之后用到

    Apache中POI操作word所需的相关jar包

    在Java环境中,如果你需要对Word文档进行读写操作,Apache POI提供了一个名为XWPFDocument的类,使得这项任务变得轻而易举。这个库允许开发者在不依赖Microsoft Office的情况下,创建、修改和读取DOCX文件。 首先,...

    POI 操作Excel工具类

    在这个场景中,我们关注的是如何使用 POI 操作 Excel 工具类。这个工具类可以帮助开发者在 Java 环境下读写 Excel 文件,从而实现数据导入、导出等功能。下面将详细介绍 POI 操作 Excel 的关键知识点。 1. **工作簿...

    java 通过poi操作excel jar包

    Java通过Apache POI库操作Excel是Java开发人员处理Microsoft Office文档的一种常见方法,特别是当需要在应用程序中生成、读取或修改Excel数据时。Apache POI是一个开源项目,提供了丰富的API,使得Java开发者能够...

    poi操作excel全部jar包

    "poi操作excel全部jar包"指的是使用Apache POI进行Excel操作所需的所有库文件集合,通常包含多个JAR文件,每个文件服务于不同的功能模块。 Apache POI 主要分为三个部分: 1. **HSSF**: 这是处理Microsoft Excel的...

    用poi操作excle文件

    在本文中,我们将深入探讨如何使用Apache POI API来操作Excel文件,以便进行读取、写入和修改等任务。 一、Apache POI简介 Apache POI是一个开源项目,它提供了一系列API,使得开发者可以使用Java处理Microsoft ...

    poi操作word实例

    本实例主要关注的是使用POI操作Word文档,具体分为HWPFDocument和XWPFDocument两种方式。 1. HWPFDocument:这是Apache POI处理旧版Word文档(.doc)的方式。HWPFDocument类是POI库中用于读写老式Microsoft Word 97...

    java的POI操作Excel文件.pdf

    Java的Apache POI库是一个强大的工具,用于在服务器端生成、读取和修改Microsoft Office文件,特别是Excel文档。POI项目始于Apache的Jakarta子项目,其目标是处理OLE2对象,尤其是MS Excel(97-2002)文件。HSSF接口...

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

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

    POI操作word工具类

    完整的支持POI操作word以下功能: 1.替换模板数据 2,替换表格数据 3.word表格行内添加 4.word写入写出

    poi3.8 doc,excel转html

    标题提到的"poi3.8 doc,excel转html",指的是使用Apache POI库的3.8版本进行Microsoft Office文档(尤其是DOC和XLS)到HTML的转换。Apache POI是一个流行的Java库,专门用于读取、写入和操作Microsoft Office格式的...

Global site tag (gtag.js) - Google Analytics