excel学习笔记之一

说明该读取支持97到2003

创新互联不只是一家网站建设的网络公司;我们对营销、技术、服务都有自己独特见解,公司采取“创意+综合+营销”一体化的方式为您提供更专业的服务!我们经历的每一步也许不一定是最完美的,但每一步都有值得深思的意义。我们珍视每一份信任,关注我们的网站设计制作、网站制作质量和服务品质,在得到用户满意的同时,也能得到同行业的专业认可,能够为行业创新发展助力。未来将继续专注于技术创新,服务升级,满足企业一站式营销型网站建设需求,让再小的成都品牌网站建设也能产生价值!

import java.io.FileInputStream;

import java.io.InputStream;

import java.text.DecimalFormat;

import java.text.SimpleDateFormat;

import java.util.Date;

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFDataFormat;

import org.apache.poi.hssf.usermodel.HSSFDateUtil;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.poifs.filesystem.POIFSFileSystem;

import org.apache.poi.ss.usermodel.CellStyle;

//excle 读取

public class Demo1 {

public static void main(String[] args) throws Exception {

InputStream is = new FileInputStream("E:\\data.xls");

POIFSFileSystem fs = new POIFSFileSystem(is);

HSSFWorkbook wb = new HSSFWorkbook(fs);//创建一个新的工作簿

HSSFSheet hssfSheet = wb.getSheetAt(0);

if (hssfSheet == null)

{

return;

}

//遍历行row

for(int rowNum = 0; rowNum <= hssfSheet.getLastRowNum(); rowNum++)

{

HSSFRow hssfRow = hssfSheet.getRow(rowNum);

if(hssfRow == null)

{

continue;

}

//遍历列

for(int cellNum = 0;cellNum <= hssfRow.getLastCellNum() ; cellNum++)

{

HSSFCell hssfCell = hssfRow.getCell(cellNum);

if(hssfCell == null)

{

continue;

}

System.out.print(""+getValue(hssfCell));

}

System.out.println();

}

}

/*1)CELL_TYPE_BLANK :空值

2)CELL_TYPE_BOOLEAN :布尔型

3)CELL_TYPE_ERROR : 错误

4)CELL_TYPE_FORMULA :公式型

5)CELL_TYPE_STRING:字符串型

6)CELL_TYPE_NUMERIC:数值型

* */

//类型判断方法

private static String getValue(HSSFCell hssfCell)

{

if(hssfCell.getCellType() == HSSFCell.CELL_TYPE_BOOLEAN)  // 布尔类型

{

return String.valueOf(hssfCell.getBooleanCellValue());

}

else if(hssfCell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC)  // 数字类型

{

return String.valueOf(hssfCell.getNumericCellValue());

}

else if(hssfCell.getCellType() == HSSFCell.CELL_TYPE_FORMULA)

{

return String.valueOf(hssfCell.getDateCellValue());   //公式型

}

else

{

return String.valueOf(hssfCell.getStringCellValue());   //字符串

}

}

//poi读取excel文档判断日期格式  

public static String readCellValues(HSSFCell cell) throws Exception {       

   // 用于返回结果

   String result = new String();

    

   try {

       // 如果单元格为空,返回null

       if (cell == null) {

           result = "null";

       }

       else {

           // 判断单元格类型

           switch (cell.getCellType()) { 

           // 数字类型

           case HSSFCell.CELL_TYPE_NUMERIC:  

               // 处理日期格式、时间格式

               if (HSSFDateUtil.isCellDateFormatted(cell)) 

               {  

                   SimpleDateFormat sdf = null;  

                   if (cell.getCellStyle().getDataFormat() == HSSFDataFormat  

                           .getBuiltinFormat("h:mm")) {  

                       sdf = new SimpleDateFormat("HH:mm");  

                   } else {// 日期  

                       sdf = new SimpleDateFormat("yyyy-MM-dd");  

                   }  

                   Date date = cell.getDateCellValue();  

                   result = sdf.format(date);  

               } else if (cell.getCellStyle().getDataFormat() == 58) {  

                   // 处理自定义日期格式:m月d日(通过判断单元格的格式id解决,id的值是58)  

                   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  

                   double value = cell.getNumericCellValue();  

                   Date date = org.apache.poi.ss.usermodel.DateUtil  

                           .getJavaDate(value);  

                   result = sdf.format(date);  

               } else {  

                   double value = cell.getNumericCellValue();  

                   CellStyle style = cell.getCellStyle();  

                   DecimalFormat format = new DecimalFormat();  

                   String temp = style.getDataFormatString();  

                   // 单元格设置成常规  

                   if (temp.equals("General")) {  

                       format.applyPattern("#");  

                   }  

                   result = format.format(value);  

               }  

               break;  

           case HSSFCell.CELL_TYPE_STRING:// String类型  

               result = cell.getStringCellValue();  

               break;  

           case HSSFCell.CELL_TYPE_BLANK:  

               result = "";  

           default:  

               result = "";  

               break;  

           }  

       }

   }

   catch(Exception e) {

       e.printStackTrace();

   }

    

   return result;

}

}

当前文章:excel学习笔记之一
网站地址:https://www.cdcxhl.com/article22/ppedjc.html

成都网站建设公司_创新互联,为您提供标签优化品牌网站设计关键词优化域名注册建站公司手机网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都seo排名网站优化