importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileWriter;importjava.io.IOException;importjxl.Cell;importjxl.Sheet;importjxl.Workbook;importjxl.read.biff.BiffException;public classexchange{public static voidmain(String[] args) {//找到excel文件的路径
String filepath = "e:\\111.xls";try{
Workbook workbook= Workbook.getWorkbook(newFile(filepath));
Sheet sheet= workbook.getSheet(0);//转成txt要保存的位置以及文件名
File file = new File("e:/1.txt");
FileWriter fw= newFileWriter(file);
BufferedWriter bw= newBufferedWriter(fw);//j为行数,getCell("列号","行号")
int j =sheet.getRows();int y =sheet.getColumns();for (int i = 0; i < j; i++) {for(int x=0; x
Cell c=sheet.getCell(x, i);
String s=c.getContents();//每一列用逗号隔开,并且第一列的最前边和最后一列的最后边不加逗号
if(x!=0 &&StringUtils.isNotBlank(s))
bw.write(","+s);elsebw.write(s);
bw.flush();
}
bw.newLine();
bw.flush();
}
System.out.println("写入转换结束");
}catch(BiffException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}
}
}
注意1:Excel文件格式一定要是xls的不能是xlsx的;如果是xlsx后缀的,要另存为xls格式的才能将xls格式的进行转换
注意2:jxl.jar中封装的日期,对年份的读取默认是取后两位的,而月和日是原样输出。如果需要全部显示年份可以在String s = c.getContents();之后加个判断(找到Excel表中日期所在的列,假设日期在Excel表的第二列即x==1,则做如下判断)
if(x == 1){
s = "20"+s;
}
说明1:主要是用了文件操作的输入和输出,以及jxl.jar中封装的获取行和列还有读取日期并输出日期格式的方法
说明2:一般我们配置的jar包或者Maven仓库中是没有jxl.jar这个jar包的,但是转换需要用到所以我们需要自己去添加jar包
如何添加:在所属项目的maven的pom.xml中进行添加依赖,如下:
net.sourceforge.jexcelapi
jxl
2.6.10
添加完依赖之后则update或者install一下maven,maven会自动下载jxl.jar这个jar包的
maven仓库更新完成之后jar包就有了,就可以import了,jxl中封装的getCell(),getContents()等方法就可以使用了。