版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kese7952/article/details/81167318
jxl.jar是通过 java操作excel表格的工具类库;
jxl.jar包:链接:https://pan.baidu.com/s/1zCIKvFoFauUp_5UAh0t_4w 密码:8mpy
1. 通过模拟实现创建一个表格,然后模拟添加到表格中数据,实际开发过程中都是通过从数据库导入到表格中的数据
import java.io.File;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import org.junit.Test;
/**
* Java 类 导出数据到Excel文件中去
* @author Mryang
* 链接:https://pan.baidu.com/s/1zCIKvFoFauUp_5UAh0t_4w 密码:8mpy
* date: 2018-07-23
*/
public class CreateExcel {
@Test
public void fun() throws Exception {
/**
* 1: 实例化File文件对象
*/
File file = new File("D:/program/昆山表.xls");
//1.1 通过file对象 创建新的文件
file.createNewFile();
/**
* 2:根据已创建号的新文件 来创建工作簿
* 到此,仅仅是完成了文件的创建,如果要输入数据进行可以进行循环传递
*/
WritableWorkbook wb = Workbook.createWorkbook(file);
//2.1 通过wb工资簿对象 创建新的表
WritableSheet newSheet = wb.createSheet("第一张表", 0);
/**
* 3: 设置 单元格 数据
*/
Label label = null;
// 3.1 表格的标题
String [] title = {"编号","姓名"};
//3.2 利用标题完成列名的填充
for (int i = 0; i < title.length;i++) {
//Label对象中,存放的参数意思分别是(列,行,数据)
label = new Label(i,0,title[i]);
// 将单元格放置到新建的表中
newSheet.addCell(label);
}
// 放入数据: 循环
for(int i=1;i<10;i++){
//添加编号,第二行第一列
label=new Label(0,i,i+"");
newSheet.addCell(label);
//添加姓名
label=new Label(1,i,"张"+i);
newSheet.addCell(label);
}
/**
* 4 工作簿对象写入,否则文件中无数据
*/
wb.write();
//关闭流,释放资源
wb.close();
}
}
2:读取excel表格里面的数据,案例如下所示:
/**
* Excel文件数据导入到Java控制台中去
* @author Mryang
* 链接:https://pan.baidu.com/s/1zCIKvFoFauUp_5UAh0t_4w 密码:8mpy
* date: 2018-07-23
*/
public class ReadExcel {
@Test
public void fun2() throws BiffException, Exception {
Workbook workbook=Workbook.getWorkbook(new File("D:/program/昆山表.xls"));
//2:获取第一个工作表sheet
Sheet sheet=workbook.getSheet(0);
//3:获取数据
System.out.println("行:"+sheet.getRows());
System.out.println("列:"+sheet.getColumns());
for(int i=0;i<sheet.getRows();i++){
for(int j=0;j<sheet.getColumns();j++){
Cell cell=sheet.getCell(j,i);
System.out.print(cell.getContents()+" ");
}
System.out.println();
}
//最后一步:关闭资源
workbook.close();
}
}