POI读取Excel文件的带注释小例子

转载 2008年09月29日 18:56:00
欢迎点击此处订阅本Blog Blog 订阅

<script type="text/javascript"><!-- google_ad_client = "pub-7343546549496470"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_type = "image"; //2007-07-26: CSDN google_ad_channel = "6063905817"; google_color_border = "6699CC"; google_color_bg = "E6E6E6"; google_color_link = "FFFFFF"; google_color_text = "333333"; google_color_url = "AECCEB"; google_ui_features = "rc:6"; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

本文转自:http://www.blogjava.net/jwin/archive/2007/12/11/167093.html

试试用POI操作excel囖.
纯粹为了自己好找.
要有人看了这些的话,随意就好啦...欢迎指出不当之处.
None.gifpackage xls;
None.gif
None.gif
import java.io.FileInputStream;
None.gif
import java.io.FileNotFoundException;
None.gif
import java.io.FileOutputStream;
None.gif
import java.io.IOException;
None.gif
import java.io.OutputStreamWriter;
None.gif
import java.io.UnsupportedEncodingException;
None.gif
import java.text.SimpleDateFormat;
None.gif
import java.util.ArrayList;
None.gif
import java.util.Date;
None.gif
import java.util.List;
None.gif
None.gif
import org.apache.poi.hssf.usermodel.HSSFCell;
None.gif
import org.apache.poi.hssf.usermodel.HSSFRow;
None.gif
import org.apache.poi.hssf.usermodel.HSSFSheet;
None.gif
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
None.gif
None.gif
public class ReadXL
ExpandedBlockStart.gif
{
InBlock.gif    
public static String fileName = "C://xls//EXCEL.xls";
InBlock.gif    
public static String path = "C://xls//"//为方便,就这样写了.
InBlock.gif
    public static void main(String argv[])
ExpandedSubBlockStart.gif    
{
InBlock.gif        List list 
= readExcel();
InBlock.gif        String xmldata 
= buildXML(list);
InBlock.gif        createXMLFile(xmldata);
ExpandedSubBlockEnd.gif    }

InBlock.gif
ExpandedSubBlockStart.gif    
/**
InBlock.gif     * 读取磁盘上的EXCEL文件的内容
InBlock.gif     * 
@return List
ExpandedSubBlockEnd.gif     
*/

InBlock.gif    
public static List readExcel()
ExpandedSubBlockStart.gif    
{
InBlock.gif        List list 
= null;
InBlock.gif        UserBean ub 
= null;
InBlock.gif        
try
ExpandedSubBlockStart.gif        
{
InBlock.gif            HSSFWorkbook workbook 
= new HSSFWorkbook(new FileInputStream(
InBlock.gif                    fileName)); 
//得到excel对象
InBlock.gif
            HSSFSheet sheet = workbook.getSheetAt(0); //得到第一个sheet
InBlock.gif
            int rows = sheet.getPhysicalNumberOfRows(); //得到行数
InBlock.gif
            list = new ArrayList();
InBlock.gif            
for (int i = 1; i < rows; i++)
ExpandedSubBlockStart.gif            
{
InBlock.gif                HSSFRow row 
= sheet.getRow(i);
InBlock.gif                ub 
= new UserBean();
InBlock.gif                HSSFCell cell 
= row.getCell((short0); //得到列0(下标0,为第一列)
InBlock.gif
                ub.setName(cell.getStringCellValue());
InBlock.gif                cell 
= row.getCell((short1); //得到列 1
InBlock.gif
                ub.setEmail(cell.getStringCellValue());
InBlock.gif                cell 
= row.getCell((short2); //得到列2
InBlock.gif
                ub.setPhone(cell.getStringCellValue());
InBlock.gif                cell 
= row.getCell((short3); //得到列3
InBlock.gif
                ub.setPasswd(cell.getStringCellValue());
InBlock.gif                list.add(ub);
ExpandedSubBlockEnd.gif            }

InBlock.gif            
return list;
ExpandedSubBlockEnd.gif        }

InBlock.gif        
catch (Exception e)
ExpandedSubBlockStart.gif        
{
InBlock.gif            
return null;
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

InBlock.gif
ExpandedSubBlockStart.gif    
/**
InBlock.gif     * 组装xml格式字符串
InBlock.gif     * 
@param list List
InBlock.gif     * 
@return String
ExpandedSubBlockEnd.gif     
*/

InBlock.gif    
public static String buildXML(List list)
ExpandedSubBlockStart.gif    
{
InBlock.gif        StringBuffer sb 
= new StringBuffer();
InBlock.gif        sb.append(
"<contents-list>/n/t");
InBlock.gif        sb.append(
"<content>/n/t/t");
InBlock.gif        
for (int i = 0; i < list.size(); i++)
ExpandedSubBlockStart.gif        
{
InBlock.gif            UserBean bean 
= (UserBean) list.get(i);
InBlock.gif            sb.append(
"<userinfo>/n/t/t/t");
InBlock.gif            sb.append(
"<name>" + bean.getName() + "</name>/n/t/t/t");
InBlock.gif            sb.append(
"<email>" + bean.getEmail() + "</email>/n/t/t/t");
InBlock.gif            sb.append(
"<phone>" + bean.getPhone() + "</phone>/n/t/t/t");
InBlock.gif            sb.append(
"<passwd>" + bean.getPasswd() + "</passwd>/n/t/t");
InBlock.gif            
if (i + 1 < list.size())
ExpandedSubBlockStart.gif            
{
InBlock.gif                sb.append(
"</userinfo>/n/t/t");
ExpandedSubBlockEnd.gif            }

InBlock.gif            
else
ExpandedSubBlockStart.gif            
{
InBlock.gif                sb.append(
"</userinfo>/n/t");
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif        sb.append(
"</content>/n");
InBlock.gif        sb.append(
"</contents-list>");
InBlock.gif        
return sb.toString();
ExpandedSubBlockEnd.gif    }

InBlock.gif
InBlock.gif
ExpandedSubBlockStart.gif    
/**
InBlock.gif     * 输出到文件
InBlock.gif     * 
@param xmldata String
ExpandedSubBlockEnd.gif     
*/

InBlock.gif    
public static void createXMLFile(String xmldata)
ExpandedSubBlockStart.gif    
{
InBlock.gif        String createTime 
= createTime();
InBlock.gif        String filename 
= path + createTime + ".xml";
InBlock.gif        OutputStreamWriter osw 
= null;
InBlock.gif        FileOutputStream output 
= null;
InBlock.gif        
try
ExpandedSubBlockStart.gif        
{
InBlock.gif            output 
= new FileOutputStream(filename);
InBlock.gif            osw 
= new OutputStreamWriter(output, "utf-8");
InBlock.gif            osw.write(xmldata);
InBlock.gif            osw.flush();
ExpandedSubBlockEnd.gif        }

InBlock.gif        
catch (Exception ex)
ExpandedSubBlockStart.gif        
{
ExpandedSubBlockEnd.gif        }
InBlock.gif        
InBlock.gif        
finally
ExpandedSubBlockStart.gif        
{
InBlock.gif            
try
ExpandedSubBlockStart.gif            
{
InBlock.gif                
if (null != output)
ExpandedSubBlockStart.gif                
{
InBlock.gif                    output.close();
ExpandedSubBlockEnd.gif                }

ExpandedSubBlockEnd.gif            }

InBlock.gif            
catch (IOException ex2)
ExpandedSubBlockStart.gif            
{
ExpandedSubBlockEnd.gif            }

InBlock.gif            
try
ExpandedSubBlockStart.gif            
{
InBlock.gif                
if (null != osw)
ExpandedSubBlockStart.gif                
{
InBlock.gif                    osw.close();
ExpandedSubBlockEnd.gif                }

ExpandedSubBlockEnd.gif            }

InBlock.gif            
catch (IOException ex3)
ExpandedSubBlockStart.gif            
{
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

InBlock.gif
ExpandedSubBlockStart.gif    
/**
InBlock.gif     * 用时间作为文件名
InBlock.gif     * 
@return String
ExpandedSubBlockEnd.gif     
*/

InBlock.gif    
public static String createTime()
ExpandedSubBlockStart.gif    
{
InBlock.gif        Date date 
= new Date();
InBlock.gif        SimpleDateFormat dateFormat 
= new SimpleDateFormat("yyyyMMddmmss");
InBlock.gif        String createTime 
= dateFormat.format(date);
InBlock.gif        
return createTime;
ExpandedSubBlockEnd.gif    }

InBlock.gif
ExpandedBlockEnd.gif}

None.gif

再就一个UserBean,就几个属性.

<script type="text/javascript"><!-- google_ad_client = "pub-7343546549496470"; /* 468x60, 创建于 08-8-6 */ google_ad_slot = "7368701459"; google_ad_width = 468; google_ad_height = 60; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

<script type="text/javascript"><!-- google_ad_client = "pub-7343546549496470"; /* 468x15 横链接单元 */ google_ad_slot = "5785741422"; google_ad_width = 468; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

<script type="text/javascript" src="http://www.google.com/reader/ui/publisher.js"></script> <script type="text/javascript" src="http://www.google.com/reader/public/javascript/user/00697638153916680411/state/com.google/broadcast?n=5&callback=GRC_p(%7Bc%3A%22green%22%2Ct%3A%22%5Cu8FD9%5Cu4E9B%5Cu6587%5Cu7AE0%5Cu4E5F%5Cu503C%5Cu5F97%5Cu4E00%5Cu770B%22%2Cs%3A%22false%22%7D)%3Bnew%20GRC"></script>

通过poi实现解析并读取excel文件(包含xls、xlsx后缀)

StudentBean.java类,用来存放学生信息package com.demoexcel.util;public class StudentBean { private String no...
  • yiluxiangqian7715
  • yiluxiangqian7715
  • 2015年08月18日 01:28
  • 9542

java使用poi读取excel数据(xlsx)

首先要下载poi的jar包:下载地址 之后在项目中需要把poi下载目录里的所有jar包导入。 然后我自己封装了一个xlsx读取类,输入文件地址,要获取的列。输出二维数组,第一维代表一行数据,第二维代表...
  • qq547276542
  • qq547276542
  • 2017年07月15日 18:33
  • 3468

POI实现读写Excel2007完整示例--每分钟约处理7000行数据

流程:(跟jxl相似,只是读取逻辑有点不同) 跟jxl的两处主要区别: 1、读取和写入方式略有不同: (1)  poi 读取: FileInputStream input = new...
  • Little_Stars
  • Little_Stars
  • 2012年11月22日 08:22
  • 42306

JAVA 通过poi 读取 本地excel(.xls,.xlsx)文件,文件中 包含图片

以下代码亲测可以使用。以下代码可以直接运行查看效果。 jar 下载地址:http://download.csdn.net/detail/qw0907/9741548 用的jar如下: poi-3...
  • qw0907
  • qw0907
  • 2017年01月19日 16:48
  • 5573

解决POI读取EXCEL文件出错的问题

 有一个项目要在J2EE后台读取EXCEL中的内容,调研后决定采用Apache POI来处理这一问题。一开始先自己用Excel 2003写了一个测试文件,导入POI接口时是能够正常读取Excel文件的...
  • choclover
  • choclover
  • 2009年07月22日 08:33
  • 2414

利用apache的poi来读取海量两种格式的Excel文件

2016-10-23     这篇博客csdn进行的是同步发布,原生博客在博主oschina博客下,地址:https://my.oschina.net/u/2970247/blog/772756   ...
  • u010518652
  • u010518652
  • 2016年10月23日 23:21
  • 1684

使用POI3读取Excel2007格式

相关jar包,自行去poi官网下载,其中包含了对于date类型的处理,其中该列必须在excel中设置为日期类型。 解析date 工具类: [java] view plain c...
  • zmx729618
  • zmx729618
  • 2016年05月05日 16:02
  • 1345

Java POI 读写Excel 文件简单实现

整理FileUtils的一些方法,只是一些初步实现,刚写完就挂上来了…友情提示:**过于结构化,没太多润色....码的不好还请诸位海涵并多提意见** 关联的类型 资源 类型 说明 Wor...
  • u013591605
  • u013591605
  • 2017年07月14日 02:43
  • 464

struts2+poi和struts2+jxl实现读取EXCEL

我就提供两个链接,不能用直播吃翔好吧 struts2读取Excel中数据 maven导入jxl.jar包...
  • lwl13207136100
  • lwl13207136100
  • 2017年04月17日 16:30
  • 229

Java POI 读取Excel-从开始到实例

POI 是apache提供的用于处理Excel 等文件的API。 1. 下载jar档 http://poi.apache.org/download.html#POI-3.7 目前的...
  • oscar999
  • oscar999
  • 2012年03月06日 08:44
  • 7162
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:POI读取Excel文件的带注释小例子
举报原因:
原因补充:

(最多只允许输入30个字)