package com.cn.peitest.excel.word;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class xlsToxls {
public static void main(String[] args) throws Exception {
//输入xls格式
POIFSFileSystem fs = null;
HSSFWorkbook xwb = null;
HSSFSheet xsheet = null;
HSSFRow xrow = null;
HSSFCell xcell = null;
//输出xls格式
HSSFWorkbook hwb = new HSSFWorkbook();
HSSFSheet hsheet =null;// wb.createSheet("sheet1");
HSSFRow hrow = null;//sheet.createRow(0);
HSSFCell hcell=null;//row0.createCell(0);
//cell0.setCellValue("0000");
SimpleDateFormat df = new SimpleDateFormat("yyyy_MM_dd_HH_mm");//设置日期格式
System.out.println(df.format(new Date()));// new Date()为获取当前系统时间
File inf=new File("C:\\Users\\pei\\Desktop\\新建 XLS 工作表.xls");
File ouf=new File("C:\\Users\\Pei\\Desktop\\HYD test 1_0_2 tm="+df.format(new Date())+".xls");
boolean sheetflag=true;
int sheetid=0;
boolean rowflag=true;
int rowid =0;
try {
FileInputStream fis = new FileInputStream(inf);
xwb=new HSSFWorkbook(fis);
System.out.println("表单数="+xwb.getNumberOfSheets());
while(sheetflag){
if(sheetid==xwb.getNumberOfSheets()){break;}
xsheet=xwb.getSheetAt(sheetid);
if(xsheet==null){
sheetflag=false;
}else{
hsheet=hwb.createSheet(xsheet.getSheetName());
sheetid++;
rowid=0;
rowflag=true;
while(rowflag){
hrow=hsheet.createRow(rowid);
xrow=xsheet.getRow(rowid);
if(xrow==null){
rowflag=false;
}else{
rowid++;
for(int c=0;c<30;c++){
xcell=xrow.getCell(c);
if(xcell!=null&&xcell.toString().length()>0){
String a1=xcell.toString().replaceAll(".00", "");
String a2=a1.replaceAll(".0", "");
String data=a2.replaceAll("O", "0");
hrow.createCell(c).setCellValue(data);
}
}
}
}
}
}
//FileOutputStream output=new FileOutputStream(ouf);
//xwb.write(output);
//System.out.println("导出结束");
//output.close();
} catch (Exception e) {
e.printStackTrace();
}
finally{
System.out.println("处理结束。。。。等待导出完成");
FileOutputStream output=new FileOutputStream(ouf);
hwb.write(output);
System.out.println("导出结束");
output.close();
}
}
}
//pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.com</groupId>
<artifactId>excelReadAndWrite</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.directory.studio</groupId>
<artifactId>org.apache.commons.codec</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
</dependencies>
</project>