温馨小提示:
Java中操作办公软件的框架:(下面是常用的2种)
jxl:只能对Excel进行操作,属于比较老的框架。
poi:是apache的项目,可对ms的word,Excel,PPT进行操作。
poi如何操作文件???
第一步:引入poi所需要的jar包 (注意:这是maven项目的引入方式,其他可根据自己的项目情况)
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.11</version>
</dependency>
第二步:操作文件
①创建一个excel并写入数据
效果图:
//创建一个excel(里面装一个99乘法表)
public void testWrite() throws Exception {
//在内存中创建一个Excel文件
SXSSFWorkbook workbook = new SXSSFWorkbook();
//给Excel文件创建一张 Sheet1表
Sheet sheet = workbook.createSheet("qq");//table --》下面的Sheet1名
//创建行
for (int i = 1; i <= 9; i++) {
Row row = sheet.createRow(i - 1); //类似于以前的tr
//为一行创建列-->格子
for (int j = 1; j <= i; j++) {
Cell cell = row.createCell(j - 1);
//在格子中添加相应的值
cell.setCellValue(i + "*" + j + "=" + (i * j));
}
}
//文件输出流--》把内存中的excel文件写到磁盘中
FileOutputStream fos = new FileOutputStream("zq.xlsx");
workbook.write(fos);
fos.close();
}
②读取excel文件
文件内容:
//读取文件
public void testRead() throws Exception {
Workbook wb = WorkbookFactory.create(new File("emp.xlsx")); //拿到文件
Sheet sheet = wb.getSheetAt(0); //读取第一张表
int lastRowNum = sheet.getLastRowNum();//获取到总行数 -->最后一行就是总行数
for (int i = 2; i <= lastRowNum; i++) {
Row row = sheet.getRow(i); //拿每一行
short lastCellNum = row.getLastCellNum(); //拿到对应行的总列数
for (int j = 0; j < lastCellNum; j++) {
Cell cell = row.getCell(j);
System.out.print(cell.getStringCellValue() + " --> ");
}
System.out.println();
}
}
控制台打印内容:
最后文件存在项目的位置: