带宏函数等excel解析方法

不能正常解析的excel需转换,下面是我写的例子,直接贴代码

//输入 和输入都是文件夹

public static void excelTo2003V(String excFilePath,String outFilePath,String endStr){
File[] files=readFilePath(excFilePath);//获得所有输入文件
for(int i=0;i<files.length;i++){
if(files[i].isFile()&&files[i].getPath().endsWith(endStr)){//获得所有xlsm文件
// 1.word文档转html文件
String htmlPath= Word2Html.excelToHtml(files[i].getPath());//excel转html
//2读取html。files文件夹
String htmlFiles=htmlPath.substring(0, htmlPath.indexOf("."))+".files";
System.out.println(htmlFiles);
File[] htmlFileChilds=readFilePath(htmlFiles);
List<List<List<String>>>  allSheet=new ArrayList<List<List<String>>>();//单个文件读取在写入xls会覆盖
System.out.println("================开始解析================");
for(int j=0;j<htmlFileChilds.length;j++){
if(htmlFileChilds[j].isFile()&&htmlFileChilds[j].getPath().endsWith("htm")){//满足要求 开始解析
 
List<List<String>> results= parseHtml(htmlFileChilds[j].getPath());//获得当前页面数据
allSheet.add(results);

}
}
System.out.println("================解析完成-开始写入================");
String outStreamFile=outFilePath+"/"+htmlFiles.substring(htmlFiles.lastIndexOf("\\")+1,htmlFiles.lastIndexOf("."))+"-reslut.xls";
try {
poiExportToExcel2003(allSheet, outStreamFile );
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

System.out.println("================写入完毕================");
}
}

}

 public static void main(String[] args) {
// String htmlFiles="D:\\pdfReader\\BI0901-1 中国银行利率敏感性状况历史变动表.files\\sheet002.htm";
// String excFilePath="D:/pdfReader/BI0901-1 中国银行利率敏感性状况历史变动表.xlsm";
// Excel2HtmlParse.parseHtml(htmlPath);
String outFilePath="D:\\pdfReader\\reslut";//批量分析文件夹
String htmlFiles="D:\\pdfReader\\reslut";//导出文件夹
String endStr="xlsm";//批量分析文件  类型
// System.out.println( outFilePath+"/"+htmlFiles.substring(htmlFiles.lastIndexOf("\\")+1,htmlFiles.lastIndexOf("."))+".xls");
excelTo2003V(htmlFiles,outFilePath,endStr);
}


       对于不不能正常解析的excel文件需要把错误的,2007带函数命令的转成2003版的excel文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值