package Ioe;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.junit.Test;
public class OutContentExecl {
final static String url = "G:\\RS_eclipse\\phis-web\\src\\WebContent\\views";
static List arr = new ArrayList<>();
@Test
public static List getFiles (File dir) throws IOException{
execlBean ex = new execlBean();
//如果当前文件或目录存在
if(dir.exists()){
//如果是目录
if(dir.isDirectory()){
//打印当前目录的路径
// System.out.println(dir+" "+i++);
//获取该目录下的所有文件和目录组成的FIle数组
File[] files = dir.listFiles();
//递归遍历每一个子文件
for(File file : files){
getFiles(file);
}
}
//如果是文件,则打印该文件路径及名称
else{
//截取相对路径
String xdir = dir.toString().substring(url.length());
System.out.println(xdir);
ex.setUrl(xdir);
try {
BufferedReader br = new BufferedReader(new FileReader(dir));
String s = null;
//正则表达式
String z = ".*<title>.*</title>.*";
//一次读一行
while ((s = br.readLine())!=null){
//判断读取这一行是否包含 正则
if(Pattern.matches(z, s)){
//去前后空格 去掉 前7 和 后8
String til = s.trim().substring(7,s.trim().length()-8);
System.out.println(til);
ex.setTitle(til);
break;
};
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
arr.add(ex);
}
}
return arr;
}
public static void main(String[] args) throws IOException {
File dir = new File(url);
OutContentExecl.getFiles(dir);
// 第一步,创建一个webbook,对应一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet("ss.xls");
// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRow row = sheet.createRow((int) 0);
// 第四步,创建单元格,并设置值表头 设置表头居中
HSSFCellStyle style = wb.createCellStyle();
// style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
HSSFCell cell = row.createCell((short) 0);
cell.setCellValue("url");
cell.setCellStyle(style);
cell = row.createCell((short) 1);
cell.setCellValue("title");
cell.setCellStyle(style);
for (int i = 0; i < arr.size(); i++)
{
row = sheet.createRow((int) i + 1);
execlBean ex = (execlBean) arr.get(i);
// 第四步,创建单元格,并设置值
row.createCell((short) 0).setCellValue(ex.getUrl());
row.createCell((short) 1).setCellValue(ex.getTitle());
}
// 第六步,将文件存到指定位置
try
{
FileOutputStream fout = new FileOutputStream("C:/Users/Administrator/Desktop/jspPage.xls");
wb.write(fout);
fout.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
获取本地jsp和title内容并生成xls
最新推荐文章于 2023-11-20 18:15:28 发布