• 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/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    Unity项目
    Unity基本操作
    博客园自定义主题样式
    明解C语言
    C指针基础知识
    排序算法
    session理解与总结【session原理、应用、与cookie区别】
    cookie理解与实践【实现简单登录以及自动登录功能】
    【数据结构与算法】双指针思想——数组首部或尾部同向遍历
    【数据结构与算法】双指针思想——首尾双向遍历
  • 原文地址:https://www.cnblogs.com/dongguacha/p/7229256.html
Copyright © 2020-2023  润新知