`

用java读取(创建写入)Excel

阅读更多

      需要对Excel的大数据量进行处理时,如将某个excel表格中的数据导入的DB的某个表中,可将用java程序将数据读出,然后做相应的判断处理。

 

    在对Excel大数据量进行处理时,可以用java程序将数据读出,然后用程序进行相应处理,会比较灵活方便。例如:需要将某个excel表格中的数据导入到数据库,就可先读入内存,再插入数据库,或拼合成sql语句,在数据库管理器中执行。

    java操作EXCEL表,需要用到jxl.jar包。可从附件中下载。

    读取示例:

package com.ljf.mb;

import java.io.FileInputStream;
import java.io.InputStream;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;

public class ReadExcel
{
    public static void main(String[] args) throws Exception
    {
        {
            String filePath = "d:/.xls"; //文件在电脑中的位置
            InputStream is = new FileInputStream(filePath);
            Workbook rwb = Workbook.getWorkbook(is);

            Sheet rs = rwb.getSheet(0);// 获取第一张Sheet表
            int hangNum = rs.getRows();//得到总行数

            for (int i = 1; i < hangNum; i++)
            {
            String name = getCallStr(rs, i, 5).trim(); //得到第i行,第5列数据,行列均是从0开始
            String gg = getCallStr(rs, i, 6).trim();
            System.out.println(name + "   " + gg);  //组织自己想要的输出 
            }
            }
            }

	/**
	 * 功能描述:得到工作表中某个单元格的数据
	 *</br>日期:2013-3-29
	 *</br>@author : 劲风
	 *</br>@param rs 工作表对象
	 *</br>@param hang  行数,从0开始
	 *</br>@param lie 列数,从0开始
	 *</br>@return  单元格的内容
	 */
	public static String getCallStr(Sheet rs, int hang, int lie)
	{
		Cell cell = rs.getCell(lie, hang);
		String value = cell.getContents();
		if (value != null)
		{
			return value.trim();
		}
		return "";
	}
}

  

附增写入Excel的例子:

import java.io.File;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class WriteExcel
{

	public static void main(String[] args) throws Exception
	{
		 WritableWorkbook wwb = null;   
		 WritableSheet ws = null;
	     try 
	     {   
	            //首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象   
	            wwb = Workbook.createWorkbook(new File("d:/tables/one.xls"));   
	            if(wwb!=null)
	            {   
		            //创建一个可写入的工作表   
		            ws = wwb.createSheet("sheet1", 0); //第一个是工作表的名称,第二个是工作表在工作薄中的位置   
		               
		            //下面开始添加单元格   
                    Label lab00 = creatLabel(0, 0, "姓名");  //行,列,内容
                    Label lab01 = creatLabel(0, 1, "年龄");  //行,列,内容
                    Label lab10 = creatLabel(1, 0, "张三");  //行,列,内容
                    Label lab11 = creatLabel(1, 1, "20");  //行,列,内容
                    
                    ws.addCell(lab00);
                    ws.addCell(lab01);
                    ws.addCell(lab10);
                    ws.addCell(lab11);
                    
                    wwb.write();    //从内存中写入文件中   
                    wwb.close(); //关闭资源,释放内存   
	            }
	        } 
	        catch (Exception e) 
	        {   
	            e.printStackTrace();   
	        }   
	         

		
	}

	public static Label creatLabel(int hang,int lie,String con) //行,列,内容
	{
		return new Label(lie, hang, con); 
	}
}

 

  • jxl.jar (725.9 KB)
  • 下载次数: 19
2
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics