java는 파일에 있는 모든 excel 파일을 읽을 수 있습니다

5797 단어
최근에 압축 패키지를 처리했는데, 그 안에는 수백 수천 개의 excel 파일이 있다.모든 excel을 하나의 큰 excel 파일에 직접 통합한 다음 데이터베이스로 가져올 수 있습니다.
그러나 이렇게 하는 것은 너무 번거롭다. 그래서 두 개의 클래스를 써서 excel 파일을 처리하고, 한 클래스는 폴더 아래의 파일을 읽는다.
다음은 코드를 드리겠습니다.
excel 클래스 분석 (읽기와 쓰기 업데이트 작업 포함)

public class ExcelFile
{

/**
* read
* @param file
*/
public static void readExl(String file){
try
{
Workbook book = Workbook.getWorkbook(new File(file));

Sheet[] sheets = book.getSheets();

for(int i=0; i < sheets.length;i++){
Sheet sheet = sheets[i];
System.out.println("Sheet"+i);
int col = sheet.getColumns();
int row = sheet.getRows();

for( int r=0 ; r < row;r++){
StringBuffer sb = new StringBuffer();
for (int c = 0; c < col; c++)
{
Cell cell = sheet.getCell(c,r);

String result = cell.getContents();

sb.append(result).append(" ");
}

System.out.println(sb.toString());
}
}
book.close();
}
catch (Exception e)
{
System.out.println(e);
}

}


/**
* Update
* @param file
*/
public static void updateExl(String file){
try
{
Workbook wb = Workbook.getWorkbook(new File(file));
WritableWorkbook book = Workbook.createWorkbook(new File(file),wb);

//WritableSheet sheet = book.createSheet("second", 1);
WritableSheet sheet = book.getSheet(0);
Label label = new Label(0,0,"test data 2");
sheet.addCell(label);
book.write();
book.close();
}
catch (Exception e)
{
System.out.println(e);
}

}

public static void readExl(String file, int i){
try
{
Workbook book = Workbook.getWorkbook(new File(file));
Sheet sheet = book.getSheet(i);
Cell cell = sheet.getCell(0,0);
String result = cell.getContents();
System.out.println(result);
book.close();

}
catch (Exception e)
{
System.out.println(e);
}

}


/**
* Create
* @param file
*/
public void createExl(String file){
try
{
WritableWorkbook book = Workbook.createWorkbook(new File(file));
WritableSheet sheet = book.createSheet("first", 0);


Label lable = new Label(0,0,"test");
sheet.addCell(lable);

Number number = new Number(1,0,123);
sheet.addCell(number);
book.write();
book.close();
}
catch (Exception e)
{
e.printStackTrace();
}

}

}

폴더 아래의 파일을 읽는 클래스도 있습니다.

public class ReadFile
{
/**
* Delete
* @param path
* @return
* @throws FileNotFoundException
* @throws IOException
*/
public static boolean deleteFile(String path) throws FileNotFoundException,IOException{
try
{
File file = new File(path);
if (!file.isDirectory())
{
file.delete();
}else{
String filelist[] = file.list();
for(int i=0; i< filelist.length;i++){
File delfile = new File(path +"\\"+filelist[i]);
if(delfile.isDirectory()){
System.out.println("FileName:"+delfile.getName());
System.out.println("AbsolutePath:"+delfile.getAbsolutePath());
delfile.delete();
}else{
deleteFile(path+"\\"+filelist[i]);
}
}
file.delete();
}
}
catch (Exception e)
{
System.out.println("deletFile() Exception:"+e.getMessage());
}
return true;
}



/**
* Read
* @param path
* @return
* @throws FileNotFoundException
* @throws IOException
*/
public static boolean readFile(String path) throws FileNotFoundException,IOException{
try
{
File file = new File(path);
if (!file.isDirectory())
{

}else{
System.out.println(" ");
String[] filelist = file.list();
for (int i = 0; i < filelist.length; i++)
{
File readFile = new File(path+"\\"+filelist[i]);
if(!readFile.isDirectory()){
System.out.println("read file Name:" + readFile.getName());
ExcelFile.readExl(readFile.getPath());
System.out.println("------------------------");
//System.out.println("path=" + readFile.getPath());
//System.out.println("absolutepath=" + readFile.getAbsolutePath());
//System.out.println("name=" + readFile.getName());
}else{
readFile(path+"\\"+filelist[i]);
}
}

}
}
catch (Exception e)
{
System.out.println("readFile() Exception:"+e.getMessage());
}
return true;
}

public static void main(String[] args)
{

try
{
readFile("C:/Documents and Settings/Developer/Desktop/All-01012012-05312012");
}
catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
//deleteFile("C:/Documents and Settings/Developer/Desktop/All-01012012-05312012/All-01012012-05312012/ok");

}
}

좋은 웹페이지 즐겨찾기