概述
教你如何使用简单java代码读写excel文件
***提示:最基础教程代码教学
学习内容
在学习或者工作中,Excel文件作为最基础的办公表格,会被频繁使用。很多情况下,Excel里自带的公式或者函数已经不能简单满足我们的工作需求。我们可以使用一些简单编程知识,使得我们对excel的掌控更加自如。
`提示:本次学习使用java直接读取excel,并经过相应计算,输出为想要的相应格式的excel文件。
内容:
1、输入excel文件:里面包含一些水果的名称和价格。
2、输出文件:通过程序计算,在输出文件里面输出购买水果的名称和总价。
程序部分:
- 搭建 Java 开发环境
- 使用apache POI来进行excel 的读写
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.commons.io.FileUtils;
所需要的所有程序包如上,没有的可以到apache官网下载,或者联系我发(评论区留下你的邮箱)!
- 读取excel函数代码(完整)
//读取excel函数:
public List readExcel(File file) throws Exception { //读取excel函数
//获取文件名字
String fileName = file.getName();
//获取文件类型
String fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
System.out.println(" **** fileType:" + fileType);
//获取输入流
InputStream stream = new FileInputStream(file);
//获取工作薄
Workbook xssfWorkbook = null;
if (fileType.equals("xls")) {
xssfWorkbook = new HSSFWorkbook(stream);
} else if (fileType.equals("xlsx")) {
xssfWorkbook = new XSSFWorkbook(stream);
} else {
System.out.println("您输入的excel格式不正确");
}
// TranTaskDao a = null;
List aList = new ArrayList();
// Read the Sheet
Sheet Sheet = xssfWorkbook.getSheetAt(0);
// Read the Row 从0开始
for (int rowNum = 0; rowNum <= Sheet.getLastRowNum(); rowNum++) {
Row Row = Sheet.getRow(rowNum);
if (Row != null) {
//判断这行记录是否存在
if (Row.getLastCellNum() < 1 || "".equals(Row.getCell(0))) {
continue;
}
//获取每一行封装成对象
List<String> rowList = new ArrayList<String>();
for(int colNum=0;colNum<Row.getLastCellNum();colNum++)
{
rowList.add(colNum, Row.getCell(colNum).toString());
}
aList.add(rowList);
}
}
return aList;
}
以上为读取excel的函数,在下面的main函数里直接调用这个函数( readExcel(); )即可,支持xls,xlsx格式。
- 在main函数里操作调用readExcel();函数,读取的excel文件中的内容,并整理输出为另一个excel文件
//main函数里直接调用
public static void main(String[] args) {
// TODO Auto-generated method stub
// String Array[][]=new String[1000][50]; 也可以用数组保存读取的excel文件
ExcelClass te=new ExcelClass(); //这里ExcelClass是你创建的这个类的类名,我的类名就是ExcelClass
File f= new File("F:\输入.xlsx"); //要导入的excel文件路径
try {
List list=te.readExcel(f);
HSSFWorkbook workbook=new HSSFWorkbook();
//创建工作表sheeet0
HSSFSheet sheet0=workbook.createSheet();
//创建第一行
HSSFRow row0=sheet0.createRow(0);
//创建Excel文件薄
String[] title={"水果","数量","总价"}; //为输出表格生产标题
HSSFCell cell=null;
for (int i1=0;i1<title.length;i1++){
cell=row0.createCell(i1);
cell.setCellValue(title[i1]);
}
/** //也可以用数组保存读取的excel文件
* for(int i=0;i<list.size();i++)
{
for(int j=0;j<((List) list.get(0)).size();j++)
{
Array[i][j]=((List) list.get(i)).get(j).toString();
}
}
*/ //也可以用数组保存读取的excel文件
HSSFRow nextrow=sheet0.createRow(1); //将excel第二行作为数据写入行的初始行
HSSFCell cell2=nextrow.createCell(0); //初始化第二行第一格
cell2.setCellValue(((List) list.get(1)).get(0).toString()+"+"+((List) list.get(4)).get(0).toString()); //购买2个苹果2个火龙果,写入数据
cell2=nextrow.createCell(1); //初始化第二行第二格
cell2.setCellValue(2+2); // 总数量,写入数据
cell2=nextrow.createCell(2); //初始化第二行第三格
cell2.setCellValue(Double.valueOf((String) ((List) list.get(1)).get(1))*2+Double.valueOf((String) ((List) list.get(4)).get(1))*2); //购买2个苹果2个火龙果,计算金额
//创建一个excel文件
File file=new File("F:/poi_test0322.xls"); //输出创建好的文件路径
file.createNewFile();
FileOutputStream stream=FileUtils.openOutputStream(file);
workbook.write(stream);
stream.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
以上是main函数的完整部分,调用readExcel()函数,直接获取excel里面的内容,从而进行处理,最后输出!
小结:
这里采用apache POI来进行excel 的读写,读写excel 的基本步骤就这么简单。这个程序的处理excel内容部分只是最简单的教程例子,你可以根据你的需求,在这个基础代码上改进填充,从而实现更复杂的程序设计。掌握好这个,将使得你无论在工作中还是学习上,都可以更加轻松自如的对excel进行操作,从而简化工作流程,提高工作效率。
希望这能对您有所帮助!
提示:
**以上程序是直接将导入的excel路径写死,也可以通过前端页面上传按钮动态上传。如有需要,将会后续更新!
最后
以上就是落后芹菜为你收集整理的Java读写excel文件代码教你如何使用简单java代码读写excel文件学习内容小结:的全部内容,希望文章能够帮你解决Java读写excel文件代码教你如何使用简单java代码读写excel文件学习内容小结:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复