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() + " \t");
}
// if(i==0){
// dataMap.put("title", data);
// }else{
// dataMap.put((i+1)+"", data);
// }
if(!hashMap.isEmpty()){
arraylist.add(hashMap);
}
System.out.println("");
}
NCUAP 利用java自带方法实现导入excel取数据的更多相关文章
- Java中的大小写字母相互转换(不利用Java自带的方法)
Java中的大小写字母相互转换(不利用Java自带的方法) 1.设计源码 /** * * @title:UpperAndLower.java * @Package:com.you.utils * @D ...
- springMVC(5)---导入excel文件数据到数据库
springMVC(5)---导入excel文件数据到数据库 上一篇文章写了从数据库导出数据到excel文件,这篇文章悄悄相反,写的是导入excel文件数据到数据库.上一篇链接:springMVC(4 ...
- 利用Java进行MySql数据库的导入和导出
利用Java来进行Mysql数据库的导入和导出的总体思想是通过Java来调用命令窗口执行相应的命令. MySql导出数据库的命令如下: mysqldump -uusername -ppassword ...
- java导入Excel表格数据
首先导入Excel数据需要几样东西 第一需要两个依赖包,这里直接是在pom注入依赖 <!--excel--> <dependency> <groupId>org.a ...
- java通过注解指定顺序导入excel
自定义的属性,用来判断顺序的 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; impor ...
- 向MySql数据库导入excel表数据
最近要开发一个小的答题系统,如果题目人工录入那确实很麻烦.所以想到是不是可以从用一些现有数据格式的文件导入数据.在网上查了一下,看到有关于将excel的数据导入到mysql的方法.所以将题库数据整理成 ...
- 使用jxls技术导入Excel模版数据(转自其他博客)
第一步:先确定好Excel导入的格式以及各表格字段值的含义 第二步:定义好解析的XML--videoConfig.xml <?xml version="1.0" encodi ...
- Vue3实现动态导入Excel表格数据
1. 前言 在开发工作过程中,我们会遇到各种各样的表格数据导入,大部分我们的解决方案:提供一个模板前端进行下载,然后按照这个模板要求进行数据填充,最后上传导入,这是其中一种解决方案.个人认为还有另外 ...
- 向SQL Server中导入Excel的数据
1. 手动界面导入Excel数据 同 https://jingyan.baidu.com/article/ce09321b9a0e252bff858ff9.html 首先打开并登陆sql serve ...
随机推荐
- git初始化本地项目及关联github远程库
一.初始化本地项目 idea中在项目文件夹下执行:git init . 二.在github官网上创建一个库 三.执行如下命令关联远程库: git remote add origin 你创建的git远程 ...
- ionic3安卓平台引用高德地图
1.前置条件 第一步,注册高德开发者:第二步,去控制台创建应用:第三步,获取Key. 2.打开src目录下的index.html, 在head标签中添加以下代码,引入js: <script ty ...
- 开机自启动 centos 7
开机自启动,写入必要的命令即可.vim /etc/rc.d/rc.local
- python if not
判断是否为None的情况 if not x if x is None if not x is None if x is not None`是最好的写法,清晰,不会出现错误,以后坚持使用这种写法. 使用 ...
- Spring复习
第一天 IOC:控制反转,对象的创建权交给Spring DI:依赖注入,前提必须有IOC的环境,Spring管理这个类的时候将类的依赖的属性注入(设置)进来. 包括集合的注入 ClassPathXml ...
- c++ :
(1)表示机构内位域的定义(即该变量占几个bit空间) typedef struct _XXX{ unsigned char a:4; unsigned char c; } ; XXX
- python中 函数名加括号与不加括号
加括号是返回函数的结果,不加括号相当于函数的调用.
- GIT BRANCHING
GIT BRANCHING generalizations Let's take a moment to review the main concepts and commands from the ...
- Centos安装ffmpeg
yum install -y ffmpeg 使用上面的命令安装却出现以下问题: Google后发现缺少一些扩展: wget https://download1.rpmfusion.org/free/e ...
- vs2010提取资源
setlocal enabledelayedexpansion rem cd C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin set R ...