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

  • 相关阅读:
    结构体
    Springmvc中异常处理
    SpringMVC的Controller方法返回值的3种类型
    SpringMVC的参数绑定
    @RequestParam用法与@PathVariable用法的区别
    springMVC架构(三大组件)
    springMVC入门程序开发步骤
    @RequestMapping的三个用法
    web.xml标签
    小笔记2(Servlet)
  • 原文地址:https://www.cnblogs.com/dongguacha/p/7229256.html
Copyright © 2011-2022 走看看