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(); } }