• 处理xls文件


    package com.cn.peitest.excel;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.PrintStream;
    import java.text.DecimalFormat;
    
    import org.apache.poi.hssf.usermodel.HSSFCell;
    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 com.cn.peitest.excel.tool.ExcelPoiTools;
    
    public class pei_testXLS {
    	/*
    	 * 处理xls文件
    	 * */
    
    	public static void main(String[] args){
    		try {
    			//生成111.txt文件的地址
    			PrintStream ps = new PrintStream("C:\Users\pei\Desktop\111.txt");
    			//设置将内容打印到111.txt文件中
    			
    			//System.setOut(ps);
    			
    			//要打印的内容拼成sql文件
    			System.out.println("insert into `t_pub_bfshlp` values" );
    		} catch (FileNotFoundException e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		}
    		try {
    			HSSFWorkbook rwb = null;
    			HSSFSheet incomeSheet = null;
    			POIFSFileSystem fs = null;
    			HSSFRow row = null;
    			int l = 0;
    			//要读取的文件路径
    			String tableFile = "C:\Users\Pei\Desktop\HYD test 1_0_2 tm=2020_09_29_09_30.xls";
    			//读取excle时这句话是固定用法
    			fs = new POIFSFileSystem(new FileInputStream(new File(tableFile)));
    			rwb = new HSSFWorkbook(fs);
    			// 获取到Excel中的Sheet
    			incomeSheet = rwb.getSheetAt(1);
    
    			StringBuffer date=new StringBuffer("");
    			
    			for (int x = 5; x <= 314; x++) {//读取多少行
    				
    				System.out.print("('99'," );
    				
    				row = incomeSheet.getRow(x);
    				// 读取格 编号
    				for (int y = 0; y <= 4; y++) {//读取每行读多少列,获取前5列的值分别取前两位
    					l++;
    					HSSFCell cell = row.getCell(y);		
    					if(cell!=null&&!ExcelPoiTools.getStringCellValue(cell).equals("")&&ExcelPoiTools.getStringCellValue(cell)!=null){		
    						
    						date =date.append( ExcelPoiTools.getStringCellValue(cell).substring(0,2));//获取每列值的前两位数
    					
    					}					
    				}
    				l=(date.length())/2;
    				
    				System.out.print("'PRD_IND_TYP"+""+"',");
    				
    				System.out.print("'" + date+"',");
    				date.setLength(0);
    				
    				// 读取格 内容
    				for (int y = 5; y <= 5; y++) {//从第5列开始读取后面每列值得内容
    					HSSFCell cell = row.getCell(y);		
    					if(cell!=null){
    					date =date.append( ExcelPoiTools.getStringCellValue(cell));
    					}					
    				}
    				System.out.println("'" + date+"','','','20171110010101','','','','',''),");
    				date.setLength(0);
    				
    				
    			
    			}
    
    		} catch (Exception e) {
    			System.out.println(e);
    		}
    	}
    	
    	//处理数据
    	 public static String getStringCellValue(HSSFCell cell) {
    	        String strCell = "";
    	        switch (cell.getCellType()) {
    	            case HSSFCell.CELL_TYPE_STRING://字符串
    	                strCell = cell.getStringCellValue();
    	                break;
    	            case HSSFCell.CELL_TYPE_NUMERIC:
    	                DecimalFormat df = new DecimalFormat("0.00");//处理数字
    	                strCell = df.format(cell.getNumericCellValue());
    	                break;
    	            case HSSFCell.CELL_TYPE_BOOLEAN:
    	                strCell = String.valueOf(cell.getBooleanCellValue());
    	                break;
    	            case HSSFCell.CELL_TYPE_BLANK://空值
    	                strCell = "";
    	                break;
    	            default:
    	                strCell = "";
    	                break;
    	        }
    	        if ("".equals(strCell) || strCell == null) {
    	            return "";
    	        }
    	        if (cell == null) {
    	            return "";
    	        }
    	        return strCell;
    	    }
    }
    

      

    //pom.xml
    
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>cn.com</groupId>
      <artifactId>excelReadAndWrite</artifactId>
      <version>0.0.1-SNAPSHOT</version>
       <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
    	 <dependency>
    	    <groupId>org.apache.directory.studio</groupId>
    	    <artifactId>org.apache.commons.codec</artifactId>
    	    <version>1.8</version>
    	</dependency>
    	 <dependency>
    		<groupId>net.sourceforge.jexcelapi</groupId>
    		<artifactId>jxl</artifactId>
    		<version>2.6.12</version>
    	</dependency>
    	<dependency>
    		<groupId>org.apache.poi</groupId>
    		<artifactId>poi-ooxml</artifactId>
    		<version>3.9</version>
    	</dependency>
      </dependencies>
    </project>
    

      

  • 相关阅读:
    初识Python
    MySql的前戏
    abstract class 和 interface 有什么区别?(抽象类和接口的区别)
    java方法签名
    final
    OverLoad 和 Override 的区别
    WebService (什么是WebService ,有哪些优点? WebService由什么组成?分别对应的含义?)
    人民币
    快速排序
    动态反射
  • 原文地址:https://www.cnblogs.com/xianz666/p/13749161.html
Copyright © 2020-2023  润新知