zoukankan      html  css  js  c++  java
  • NCUAP 利用java自带方法实现导入excel取数据

    final JComponent parent = getModel().getContext().getEntranceUI();
    		JFileChooser  chooser = new JFileChooser(FileSystemView.getFileSystemView().getHomeDirectory());
    		chooser.setFileFilter(new FileFilter() {
    			
    			@Override
    			public String getDescription() {
    				// 设置选择类型
    				return "97~2003 Excel";
    			}
    			
    			@Override
    			public boolean accept(File f) {
    				// 过滤文件类型
    				if(f.isDirectory())
    					return true;
    				String fileName = f.getName();
    				int i =fileName.lastIndexOf(".");
    				if(fileName.substring(i+1).equalsIgnoreCase("xls")){
    					return true;
    				}
    				return false;
    			}
    		});
    		chooser.showOpenDialog(null);
    		File file = chooser.getSelectedFile();
    		if(file == null)
    			return;
    		InputStream is = new FileInputStream(file);
    		// 2、声明工作簿对象
    		Workbook rwb = Workbook.getWorkbook(is);
    		// 3、获得工作簿的个数,对应于一个excel中的工作表个数
    		rwb.getNumberOfSheets();
    		Sheet oFirstSheet = rwb.getSheet(0);// 使用索引形式获取第一个工作表,也可以使用rwb.getSheet(sheetName);其中sheetName表示的是工作表的名称
    		// System.out.println("工作表名称:" + oFirstSheet.getName());
    		ArrayList<HashMap<String, Object>> arraylist = new ArrayList<HashMap<String,Object>>();
    //		HashMap<String, String[]> dataMap =new HashMap<String, String[]>();
    		int rows = oFirstSheet.getRows();// 获取工作表中的总行数
    		int columns = oFirstSheet.getColumns();// 获取工作表中的总列数
    		String[] title = new String[columns];
    		for (int i = 0; i < rows; i++) {
    			HashMap<String, Object> hashMap = new HashMap<String, Object>();
    			String[] data = new String[columns];
    			for (int j = 0; j < columns; j++) {
    				Cell cell = oFirstSheet.getCell(j, i);// 需要注意的是这里的getCell方法的参数,第一个是指定第几列,第二个参数才是指定第几行
    				// 表体第一行不put hashMap
    				if(i==0){
    					title[j]=cell.getContents();
    				}else{
    					hashMap.put(title[j],cell.getContents());
    				}
    				data[j]=cell.getContents();
    				System.out.print(cell.getContents() + " 	");
    			}
    //			if(i==0){
    //				dataMap.put("title", data);
    //			}else{
    //				dataMap.put((i+1)+"", data);
    //			}
    			if(!hashMap.isEmpty()){
    				arraylist.add(hashMap);
    			}
    			System.out.println("");
    		}
    

      


    作者:冬瓜茶饮料
    出处:http://www.cnblogs.com/dongguacha/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    AWS生产环境Pod挂载不了configmap、secret
    Ant学习
    Springframework3.1源码编译
    MyEclipse10 中增加svn插件
    如何测试java支持的最大内存
    Tomcat中部署后JspFactory报异常的解决方案
    win7x64下安装oraclex64版本后,plsql Developer无法登录的问题
    CentOS6.4安装及配置oracle
    VMWare安装redhat9后上网的的问题
    泛海精灵项目的回顾与反思
  • 原文地址:https://www.cnblogs.com/dongguacha/p/7229256.html
Copyright © 2011-2022 走看看