Java 读取excel指定行列数据以及将数据保存到txt文件中
2017-04-25 20:49
971 查看
在使用的软件中经常要用到一些数据的导入导出,以及准确的定位数据,这些经常会涉及excle表格,因此把今天学习到的关于如何利用Java准确获取到excle中的某一列数据,同时将此列数据输出到txt文件格式中。
使用的jar包:jxl.jar
相关的API:http://jxl.sourceforge.net/javadoc/index.html(还是比较强大的,感兴趣的可以学一下)
1.首先是测试用的excle
2.要求:可以获取到第一列或者第二列有效数据,即“人物”、“年龄”等标题字符滤去。
jxl的用法在网上有很多,要获取到全部信息很简单,只需要嵌套两个for循环遍历excel中的每一个元素。
下面来获取第二列的年龄,只获取数字,代码如下:
效果如下:
3.要求:将excle文件中需要的行列数据导出到另一个excel或者txt文本中。
具体到这个例子,将第二列数据导出到excel和txt文件中,存储位置为当期文件夹,代码如下:
效果如下:
使用的jar包:jxl.jar
相关的API:http://jxl.sourceforge.net/javadoc/index.html(还是比较强大的,感兴趣的可以学一下)
1.首先是测试用的excle
2.要求:可以获取到第一列或者第二列有效数据,即“人物”、“年龄”等标题字符滤去。
jxl的用法在网上有很多,要获取到全部信息很简单,只需要嵌套两个for循环遍历excel中的每一个元素。
下面来获取第二列的年龄,只获取数字,代码如下:
public static void readSpecify(File file)throws Exception{ ArrayList<String> columnList = new ArrayList<String>(); Workbook readwb = null; InputStream io = new FileInputStream(file.getAbsoluteFile()); readwb = Workbook.getWorkbook(io); Sheet readsheet = readwb.getSheet(0); int rsRows = readsheet.getRows(); int rsColumns = readsheet.getColumns(); for (int i = 1; i < rsRows; i++) { Cell cell = readsheet.getCell(1, i); columnList.add(cell.getContents()); System.out.println(columnList); } String[] ageString = new String[columnList.size()]; int[] age = new int[ageString.length]; for (int i = 0; i < columnList.size(); i++) { ageString[i] = columnList.get(i); age[i] = Integer.parseInt(ageString[i]); System.out.println(age[i]); } }这段代码需要注意的地方是,在第一个for循环中,这里并没有全部遍历元素,因为我们明确的知道,需要获取的是第二列第二行的元素一直到最后一行的元素,所以,for循环里的 i = 1 是代表从第二列开始,readsheet.getCell(1,i)里的1则表示从第二行开始。这种方式的优点在于能够快速准确的获取到值,缺点在于必须得确定起始位置,因为excel的行跟列都是从0开始的。同时cell.getContents返回值类型为java.lang.string,所以需要根据具体的数据类型进行转换。
效果如下:
3.要求:将excle文件中需要的行列数据导出到另一个excel或者txt文本中。
具体到这个例子,将第二列数据导出到excel和txt文件中,存储位置为当期文件夹,代码如下:
public static void copy_excel(File file) throws Exception { FileWriter fWriter = null; PrintWriter out = null; String fliename = file.getName().replace(".xls", ""); fWriter = new FileWriter(file.getParent() + "/" + fliename + ".txt");//输出格式为.txt fWriter = new FileWriter(file.getParent()+ "/agetwo.xls");//输出格式为.xls out = new PrintWriter(fWriter); InputStream is = new FileInputStream(file.getAbsoluteFile()); Workbook wb = null; wb = Workbook.getWorkbook(is); int sheet_size = wb.getNumberOfSheets(); Sheet sheet = wb.getSheet(0); for (int j = 1; j < sheet.getRows(); j++) { String cellinfo = sheet.getCell(1, j).getContents();//读取的是第二列数据,没有标题,标题起始位置在for循环中定义 out.println(cellinfo); } out.close();//关闭流 fWriter.close(); out.flush();//刷新缓存 System.out.println("输出完成!"); }这段代码同样需要注意具体到行列,输出的文本名称可以自定义设置,这里取和原文件相同名字。但是要注意,out.println()一次只能写入一个文本,所以要确定写入的是txt还是excel,否则会出现文本生成了,但是却是空文本的情况。
效果如下:
相关文章推荐
- java读取Excel数据,然后写入到txt文件,并批量保存到oracle数据库中
- java使用poi把从数据库中取出的数据写入到excel文件中并保存到指定文件路径
- 读取Excel数据和写入txt文件以及读取配置文件工具类
- SQL 数据的导入导出,对远程(MSsql,OracleAccess,)数据库的操作以及读取Excel,txt文件中的数据
- MATLAB中批量从txt文件中读取指定行的数据保存为txt文件
- Java读写文件,读取execl表格,读取指定行列单元格信息,拼接sql,写入TXT文档。
- 在Java中读取并保存EXCEL文件中图片
- java读取excel、txt 文件内容,传到、显示到另一个页面的文本框里面。
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例
- JAVA读取txt文件中数据代码范例
- 使用JAVA读取EXCEL文件里面的数据
- Java中框架的概念,以及从配置文件中读取配置信息并加载指定类
- JSF,Myfaces上传文件,以及不需要将excel保存到服务解析excel取出excel中的数据
- Java读取Excel文件中的数据
- 用C#编程从数据库中读取图片数据导进Excel文件的方法(如何从数据库中读取保存的文件,直接打开,中间不保存到本地)
- Java中读取Excel文件的内容和导出数据到Excel文件
- 用C#读取Excel文件:从指定单元格开始向右向下读取数据
- 《Java开发有一说一》——Java读取Excel文件中的数据
- 在Java中读取并保存EXCEL文件中图片