`

POI之心得

阅读更多

寫本文之前,真想哭一場,昨晚在公司加班,花了半小時把博文已經寫好了,當我點擊提交按鈕后,出現了讓我淚奔的一幕.公司關閉了服務器,我辛苦寫的直接化為虛無,早知道這該寫保存在本地,然後上傳-------此是閒話

 

      公司因為最近需要進行一些報表開發.前期是用JXI做報表,因為開發后的效果不理想,主要是JXl對公式支持不好,因此老大決定重寫開發.有兩個方法,一是:利用Excel的VBA編程,我用了三天熟悉了它的基本操作,心得在我的前一博文中.二是:利用Apache組織開發的POI開源項目 進行開發報表.後因為VBA的可移植性和安全性欠佳,而放棄了,我個人覺得如果公司規模不大,完全可以利用vba進行報表的打印輸出.因為它是基於Excel的平臺上運行,也可以說是專門為Excel開發的一種語言.執行效率高.

言歸正傳,說說POI,在官網上對于POI的解釋是這樣的.

      The Apache POI Project's mission is to create and maintain Java APIs for manipulating various file formats based upon the Office Open XML standards (OOXML) and Microsoft's OLE 2 Compound Document format (OLE2). In short, you can read and write MS Excel files using Java. In addition, you can read and write MS Word and MS PowerPoint files using Java. Apache POI is your Java Excel solution (for Excel 97-2008). We have a complete API for porting other OOXML and OLE2 formats 

 

     意思是說POI是java進行Excel,work,xml等文件的,開發,操作,維護的一個開源項目.我現在主要接觸的是基於Excel的操作.

      要開發Excel首先需要在http://poi.apache.org/下載POI的jar包 ,具體操作就不描述了,我下載了開發包 以及它的源碼.引用的 jar包為: poi-3.8-beta1-20110307.jar 它依賴的jar包為:commons-logging-1.1.jar;  junit-3.8.1.jar  ; log4j-1.2.13.jar;

    引入后請看第一個實例:

 

import java.io.File;
import java.io.FileOutputStream;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;

/**
 * 
 * @author Michael.Yang
 * @help test excel formula
 *
 */
public class NewExcel {
	
	public static void main(String args[]){
	Workbook workbook = new HSSFWorkbook();//創建工作簿
	
	Sheet sheet1 = workbook.createSheet("sheet1");//創建第一業
	
	Row row_first =sheet1.createRow(0);//創建第一行
	Cell cell_test=null;
       for(int i=0;i<4;i++){
     	   cell_test= row_first.createCell(i);//創建表格
     	   cell_test.setCellType(Cell.CELL_TYPE_NUMERIC);//設置表格的類型
     	   cell_test.setCellValue(2+i);//設置值
        }
    Cell cell_fourth =row_first.createCell(4);
    cell_fourth.setCellType(Cell.CELL_TYPE_FORMULA);
    cell_fourth.setCellFormula("Sum(A1:D4)");//設置函數
    
    Cell cell_fifth =row_first.createCell(5);
    cell_fifth.setCellType(Cell.CELL_TYPE_FORMULA);
    cell_fifth.setCellFormula("Average(A1:D4)");//設置函數
    File file = new File("D:\\test_example.xls");//輸出的地址
    if(file.exists()){
   	 file.delete();
    }
    FileOutputStream fileOut;
	try {
		fileOut = new FileOutputStream(file);
		workbook.write(fileOut);
		fileOut.close();
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
    
	
	}
}

明天繼續.......

0
1
分享到:
评论

相关推荐

    java使用poi包和jxl包操作excel的心得

    ### Java使用POI包与JXL包操作Excel的实践心得 #### 一、引言 在实际工作中,经常需要处理Excel文件,特别是在企业级应用中,Excel作为一种常用的数据存储和交换格式,其重要性不言而喻。Java作为一款流行的企业级...

    A Survey of Point-of-Interest Recommendation POI推荐综述

    - **社会关系**:用户的社交圈对其活动选择有很大影响,朋友之间的相互推荐和影响是POI推荐的重要因素之一。 - **个人偏好**:用户的兴趣爱好、消费习惯等也是POI推荐时需要考虑的因素之一。 #### POI推荐算法分类 ...

    excel poi接口使用方法

    在学习POI接口时,可以参考`xssf使用心得.xls`和`hssf使用心得.xls`这两个文件,它们可能包含了实际操作的示例和作者的经验总结,有助于进一步理解和实践。 总之,Apache POI的HSSF和XSSF接口为Java开发者提供了...

    poi使用总结

    个人整理的POI解析EXCEL常用API详解 里面包括我在使用过程中的一些心得

    primefaces dataexporter excel匯出 使用poi 後續加工處理心得1

    本文将深入探讨如何使用Primefaces的DataExporter组件将数据导出为Excel格式,并通过Apache POI库进行后续的加工处理,以实现更高级的功能。 首先,Primefaces的DataExporter是一个非常方便的工具,它允许开发者将...

    apache poi export

    4. **poi使用总结.txt**:这是作者使用Apache POI的一些心得体会,可能包含了他们在实际开发中遇到的问题和解决方案。对于正在使用或计划使用POI的人来说,这是一种宝贵的经验分享。 5. **poi pom编写.txt**:在...

    Java操作excel编程后心得

    本篇文章将基于“Java操作excel编程后心得”这一主题,深入探讨使用Apache POI库进行Excel处理的关键知识点。 Apache POI是Apache软件基金会的一个开源项目,专门用于读取和写入Microsoft Office格式的文件,包括...

    工作心得:智慧交通云平台,利用“互联网+”构建智慧出行生态(最新).pdf

    在技术创新方面,X地图拥有最全、最准确的POI数据,超过4000万个POI总数,其中包括2000多万个生活类POI和100万个闭环服务POI。X地图还不断优化基础功能,如导航服务,推出熟路模式导航、双屏导航、高架导航、3D导航...

    jsp导入导出excel文件

    在Java Web开发中,JSP(JavaServer Pages)经常用于创建动态网页,而与之配合进行Excel文件导入导出的功能则常使用Apache POI库。Apache POI是Apache软件基金会的一个开源项目,提供了处理Microsoft Office格式文件...

    java中导入导出Excel文件

    #### 四、使用心得 - **优点**: - POI 的 HSSF API 提供了一个直观的对象模型,将 Excel 文件映射为 Workbook、Sheet、Row 和 Cell 等对象。 - 支持多种样式设置,便于生成格式化良好的 Excel 文件。 - **注意...

    编程规范与心得(pdf)

    ### 编程规范与心得详解 #### 一、排版 **1.1 程序块缩进** - **规范**: 程序块应当采用缩进风格编写,缩进的空格数统一为4个。 - **目的**: 统一的缩进风格能够提高代码的可读性和美观度,方便开发者阅读理解。 ...

    大杂烩很多文档SSH

    描述中提到的“博文链接:https://self4j.iteye.com/blog/810721”虽然没有提供具体信息,但通常博客文章会包含作者对某个主题的见解或教程,可能是关于SSH框架或者相关开发工具的使用心得。 标签“源码 工具”表明...

    android开发资料大全

    百度地图API 之 定位周边搜索POI(奉上源代码) Android 应用小实例--炫酷计时器 android客户端连接服务器并交互实例 Android小项目合集(经典教程) 看到很强大的实例----高仿【优酷】圆盘旋转菜单 的实现 如何...

    hui-core-autoreport:【core】自动化数据替换生成动态样式模板的PPT

    模板样式随便变,POI读取模板替换数据生成PPT报告 blog version v1 配置在数据库里面,发现样式页码一变。玩蛋 v2 在巨人的肩膀上研究了一下,构造图表有心得了 v3 重构了一下 v3.1 写了一个可以动态配置SQL的解析器...

    关于使用Jxl生成Excel并打印的经验总结.docx

    不过,你可以利用Java的其他库,如Apache POI,或者像示例中那样使用原生的Excel应用程序接口(API)来实现。以下是一个使用原生Excel API进行打印的简单示例: ```java public void printExcel(String path) { ...

    Java最全学习资料+面试题+DOS命令+设计模式+Excel技巧+java学习笔记

    6. **Java学习笔记**:个人的学习笔记通常包含了学习过程中的重点、难点和心得,是对知识的提炼和总结。通过阅读他人的笔记,可以快速理解他人对某个概念或技术的理解,从而加速自己的学习进程。 总的来说,这个...

    everynote云笔记

    【everynote云笔记】是一个集合了个人学习心得与网络精华的资源库,涵盖了广泛的IT技术领域,特别是Java编程和分布式计算。以下是对压缩包中各文件内容的详细解读: 1. **BTrace 指南.html**:BTrace是一款强大的...

Global site tag (gtag.js) - Google Analytics