`
arang
  • 浏览: 21628 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类

POI操作EXCEL应用实例代码

阅读更多
public class TestHSSF{
    Connection conn=null;
    Statement stmt = null;
    ResultSet rs = null;
    String sql="";   
    String[] headerNames={"编号","姓名","年龄","性别"};   //表头
    Vector values=new Vector();  //表格内容
  
    public TestHSSF(){
      checkXLS();
    }
    /**
     * 测试电子表格
     * 下载POI,解开JAR文件后将包拷贝到当前目录
     */
    public void checkXLS(){
      Vector vTmp=new Vector();
      vTmp.addElement(new Long(1));
      vTmp.addElement("张三");
      vTmp.addElement(new Integer(30));
      vTmp.addElement(new Boolean(true));
      values.addElement(vTmp);
 
      Vector vTmp1=new Vector();
      vTmp1.addElement(new Long(2));
      vTmp1.addElement("李四");
      vTmp1.addElement(new Integer(31));
      vTmp1.addElement(new Boolean(false));
      values.addElement(vTmp1);
 
      Vector vTmp2=new Vector();
      vTmp2.removeAllElements();
      vTmp2.addElement(new Long(3));
      vTmp2.addElement("王五");
      vTmp2.addElement(new Integer(5));
      vTmp2.addElement(new Boolean(true));
      values.addElement(vTmp2);
 
      try{
         //生成电子表格文件
         HSSFWorkbook wb = new HSSFWorkbook();
         //通过先建立表格,后命名可以定义使用的编码,从而保证汉字的正常显示
         HSSFSheet sheet1 = wb.createSheet();
         wb.setSheetName(0,"党组织情况统计表",HSSFWorkbook.ENCODING_UTF_16);
         HSSFSheet sheet2 = wb.createSheet();
         wb.setSheetName(1,"党员情况统计表",HSSFWorkbook.ENCODING_UTF_16);
 
         // 在表单中新建一个行,并建立4个列,分别写入一些数据
         // 需要注意的是:行的编号以0开始
         HSSFRow row0 = sheet1.createRow((short)0);
         HSSFRow row;
 
         //先定义一个字体对象
         HSSFFont f = wb.createFont();
         f.setFontName("黑体");
         f.setFontHeightInPoints((short) 10);  //字体大小
         f.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);  //加粗
 
         // 定义表头单元格格式
         HSSFCellStyle cellStyle = wb.createCellStyle();
         cellStyle.setFont(f);   //单元格字体
         cellStyle.setBorderBottom(cellStyle.BORDER_THIN);   //单元格边框
         cellStyle.setBorderTop(cellStyle.BORDER_THIN); 
         cellStyle.setBorderRight(cellStyle.BORDER_THIN);
         cellStyle.setBorderLeft(cellStyle.BORDER_THIN);
         cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); //水平对齐方式
 
         //定义新的调色板以便定义自己的颜色
         HSSFPalette palette = wb.getCustomPalette();
         //替换一个默认调色板中已经定义的颜色
         palette.setColorAtIndex(HSSFColor.BLUE_GREY.index, (byte) 230, (byte) 230, (byte) 255);
         //使用刚定义的颜色为填充色
         cellStyle.setFillForegroundColor(HSSFColor.BLUE_GREY.index);
         cellStyle.setFillPattern((short) HSSFCellStyle.SOLID_FOREGROUND);
 
 
         // 写入表头
         HSSFCell c;
         for(int i=0;i{
           c=row0.createCell((short)i);
           c.setCellStyle(cellStyle);
           c.setEncoding( HSSFCell.ENCODING_UTF_16 );
           c.setCellValue(headerNames[i]);
         }
         // 定义单元格格式
         HSSFCellStyle cellStyleContents = wb.createCellStyle();
         cellStyleContents.setBorderBottom(cellStyle.BORDER_THIN);   //表格细边框
         cellStyleContents.setBorderTop(cellStyle.BORDER_THIN); 
         cellStyleContents.setBorderRight(cellStyle.BORDER_THIN);
         cellStyleContents.setBorderLeft(cellStyle.BORDER_THIN);
 
         //定义数据格式
         HSSFDataFormat df = wb.createDataFormat();
         cellStyleContents.setDataFormat(HSSFDataFormat.getBuiltinFormat("text"));
                          //setDataFormat(df.getFormat("#,##0.0"));
                          //setDataFormat(df.getFormat("0.0")
                          //
                         
 
         // 写入单元格内容
         for(int i=0;i<values.size();i++){
           row=sheet1.createRow((short)i+1);        //建立新的行
           Vector vRecord=(Vector)values.elementAt(i);
           for(int j=0;j{
             c=row.createCell((short)j);            //建立新的列
             c.setCellStyle(cellStyleContents);
             c.setEncoding( HSSFCell.ENCODING_UTF_16 );
             c.setCellValue(vRecord.elementAt(j).toString());
           }
         }
 
 
         // 设置页眉
         HSSFHeader header = sheet1.getHeader();
         header.setCenter(toUnicode("党支部建设基本情况汇总"));
         header.setLeft(new String(">>>>>党委组织部".getBytes("GBK"),"8859_1"));
         header.setRight(HSSFHeader.date());
         // 设置页脚
         HSSFFooter footer = sheet1.getFooter();
         footer.setCenter( "Page " + HSSFFooter.page() + " of " + HSSFFooter.numPages() );
   
 
         FileOutputStream fileOut = new FileOutputStream("d:/workbook.xls");
         wb.write(fileOut);
         fileOut.close();
        
      }catch(Exception ex){System.out.println(ex.toString());}
 
    }
    private String toUnicode(String s){
      try{
        //byte[] data=new byte[3+s.length()*2];
        //LittleEndian.putShort(data, 0, (short) s.length());
 
        String unicodeString = new String(s.getBytes("Unicode"),"Unicode");
        //StringUtil.putUncompressedUnicode(unicodeString, data,
        //                                           0x3 + 0);
        return unicodeString;
      }catch(Exception ex){
        System.out.println(ex.toString());
        return "aa";
      }
    }
    /**
     * 测试与MySQL数据库的连接及相关操作
     * 部署MySQL4.1.7,解开jar文件后将类目录拷贝到当前路径中
     */
    public void checkSQL(){
      MDBClass mdb=new MDBClass();
      mdb.connect();
      try {
 
        sql="drop table if exists test";
        int ret=mdb.getStatement().executeUpdate(sql);
 
        //建立表格
        sql="create table test("+
            "  ID MEDIUMINT,"+
            "  name varchar(20),"+
            "  sex  varchar(2),"+
            "  age int,"+
            "  telephone MEDIUMTEXT)";
        ret=mdb.executeUpdate(sql);
 
        // 删除一条记录
        sql="delete from test where ID=6";
        ret=mdb.executeUpdate(sql);
 
        // 插入一条记录
        sql="insert into test values(5,"张三","M",30,"13156中122699")";
        ret=mdb.executeUpdate(sql);
 
        // 显示数据库内容
        sql="SELECT * FROM test";
        rs = mdb.executeQuery(sql);
        while(rs.next()){
           long id=rs.getLong("ID");
           String name=rs.getString("name");
           String sex=rs.getString("sex");
           int age=rs.getInt("age");
           String telephone=rs.getString("telephone");       
           System.out.println(""+id+"  "+name+"   "+sex+"   "+
                 age+"    "+telephone);
        }
        rs.close();
        mdb.closeAll();
      } catch (SQLException ex) {
           System.out.println("SQLException: " + ex.getMessage());
           System.out.println("SQLState: " + ex.getSQLState());
           System.out.println("VendorError: " + ex.getErrorCode());
      } finally {
           if(mdb.getConnection()!=null){
             mdb.closeAll();
           }
           if (rs != null) {
             try {
                rs.close();
             } catch (SQLException sqlEx) {}

             rs = null;
           }
  
      }

    }
    public static void main(String[] args) {
        TestHSSF tms=new TestHSSF();
    }
}
分享到:
评论
2 楼 arang 2009-05-05  
306781704 写道
这代码中间有错误MDBClass是什么类啊

连接数据库的!!!
1 楼 306781704 2009-04-29  
这代码中间有错误MDBClass是什么类啊

相关推荐

    POI操作Excel总结实例

    这个"POI操作Excel总结实例"的资料可能包含了一系列示例代码,教你如何利用Apache POI库来读取、写入和操作Excel文件。下面,我将详细讲解关于POI操作Excel的一些关键知识点。 1. **创建Excel工作簿(Workbook)** ...

    POI教程详解 操作Excel实例下载

    在"POI教程"压缩包中,可能包含了详细的代码示例,展示了如何使用POI创建、读取和修改Excel文件。通过实际操作这些例子,你可以更好地理解和掌握POI的使用方法。 总结,Apache POI为Java开发者提供了一个强大且灵活...

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

    标签“poi excel案例”进一步强调了这个项目的核心内容,即使用Apache POI进行Excel操作的实例。这可能包括创建新的工作表、读取单元格数据、写入数据、格式化单元格、处理公式、合并单元格等常见的Excel操作。 ...

    JAVA POI导出EXCEL代码

    在开始编写代码前,确保已经添加了Apache POI库到项目的依赖管理中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org.apache.poi &lt;artifactId&gt;poi &lt;version&gt;4.1.2 &lt;groupId&gt;...

    poi生成excel实例

    标题中的“poi生成excel实例”指的是使用Apache POI库来创建和操作Microsoft Excel文件的实践案例。Apache POI是开源的Java库,它允许开发者在Java应用中读写Microsoft Office格式的文件,包括Excel。 在描述中提到...

    poi 解析excel实例

    在这个“poi 解析excel实例”中,我们主要关注的是如何使用Apache POI来解析Excel文件。 首先,让我们了解一下什么是Apache POI。Apache POI 是Java平台上处理Microsoft Office文档的库,它允许开发者创建、修改和...

    Apache poi 导出excel实例

    Apache POI 是一个Java库,它允许开发人员创建、修改和显示Microsoft Office格式...博客文章“Apache POI 导出excel实例”应该会详细介绍这些步骤,并可能提供更具体的示例代码,帮助读者更好地理解和应用Apache POI。

    POI操作Excel实例源码

    在本实例源码中,我们将深入探讨如何利用POI进行Excel的读写操作,这对于数据处理、报告生成或者自动化任务尤其有用。下面我们将详细讲解相关知识点。 **1. Apache POI介绍** Apache POI是一个开源项目,它提供了...

    poi读写excel+poi总结

    读取Excel文件时,首先需要使用POI的FileInputStream打开文件,然后创建与文件类型对应的Workbook实例。之后,通过Workbook获取Sheet,再通过Sheet获取Row和Cell,读取其值。 7. 遍历数据 遍历Excel文件通常需要...

    POI导出Excel表格

    在这个“POI导出Excel表格”的实例中,我们将深入探讨如何利用Apache POI进行Excel文件的导入与导出操作。 首先,我们需要在项目中集成Apache POI库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```...

    C# 导出excel 实例代码

    下面将详细探讨如何使用C#来实现Excel的导出,并提供相关的实例代码。 首先,要理解C#导出Excel的基本原理。通常,我们可以使用两种主要的方式来完成这个任务:一是使用Microsoft Office Interop组件,二是使用第三...

    POI 操作Excel工具类

    Apache POI 是一个开源项目,专门用于处理 Microsoft Office...以上内容涵盖了 POI 操作 Excel 的基础知识点,实际应用中可能还需要考虑错误处理、性能优化等方面。希望这对你在使用 POI 处理 Excel 工具类时有所帮助。

    POI Excel官方源码及文档及实例

    这个资源包包含了POI项目的源代码、相关文档以及示例,可以帮助开发者深入理解如何使用POI来操作Excel文件。 一、Apache POI 简介 Apache POI 是由Apache软件基金会开发的一个Java库,它的主要功能是读取和写入...

    Apache POI Excel操作

    本篇将详细介绍Apache POI在Excel操作中的应用,包括基本概念、使用步骤、关键类和方法以及实际示例。 1. 基本概念 - HSSF (Horrible Spreadsheet Format):用于处理旧版的BIFF格式Excel文件(.xls)。 - XSSF ...

    POI操作Excel文档,帮助文档

    ### POI操作Excel文档知识点详解 #### 一、POI简介 Apache POI 是 Apache 软件...以上内容涵盖了 POI 处理 Excel 文件的基本知识和实际应用,对于初学者来说,这些信息可以帮助他们快速入门并掌握 POI 的基本用法。

    poi 3.2 jar包+实例代码解决方案

    在这个压缩包中,你将找到POI库的jar文件,这是在Java环境中执行POI操作的基础,以及一系列实例代码和解决方案,这些可以帮助开发者快速理解和应用POI功能。 Apache POI 的核心功能主要集中在读取和写入Excel文件,...

    poi操作excel所用jar包

    6. **读取操作**:要从Excel文件读取数据,你需要先创建一个Workbook实例,然后获取Sheet,再遍历其中的Row和Cell。POI提供了许多便利方法,如`getCellType()`获取单元格类型,`getStringCellValue()`或`...

    poi导出excel表格

    在IT行业中,Apache POI是一个广泛使用的Java库,它允许开发者读取、...以上代码展示了如何使用Apache POI在Web应用中不生成实体文件,直接导出Excel表格。这种方式既高效又环保,能够帮助你构建更加优化的Web服务。

    POI HSSF - Excel实例

    结合描述中的博客链接,这个压缩包可能是一个学习资源,其中的代码实例详细展示了如何使用Apache POI的HSSF API进行Excel文件的操作。开发者可以通过阅读和运行这些代码来了解和实践如何在实际项目中使用POI HSSF。 ...

    应用poi组件操作excel

    此外,`02 应用POI组件操作Excel`这个文件名可能包含了具体的示例代码或教程,供你进一步学习和参考。 通过以上步骤,你就能利用Apache POI组件有效地操作Excel,并将数据导入到数据库中,实现数据处理自动化。

Global site tag (gtag.js) - Google Analytics