package com.feng.excel;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
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.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
public class WriteExcel {
public static void test() {
String fileToBeRead = "C:\\3.xls"; // excel位置
int coloum = 3; // 比如你要获取第三列
try {
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(
fileToBeRead));
HSSFSheet sheet = workbook.getSheet("Sheet1");
for (int i = 0; i <= sheet.getLastRowNum(); i++) {
HSSFRow row = sheet.getRow((short) i);
if (null == row) {
continue;
} else {
HSSFCell cell = row.getCell((short) 1);
if (null == cell) {
continue;
} else {
System.out.println(cell.getStringCellValue());
cell.setCellValue("woshizoufeng");
}
}
}
FileOutputStream out = null;
try {
out = new FileOutputStream(fileToBeRead);
workbook.write(out);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void read() throws Exception, IOException {
Workbook book = new HSSFWorkbook(new FileInputStream("C:/2.xls"));
Workbook workbook = new HSSFWorkbook(new FileInputStream("C:/1.xls"));
FileOutputStream out = null;
for (int numSheet = 0; numSheet < book.getNumberOfSheets(); numSheet++) {
Sheet sheet = book.getSheetAt(numSheet);
if (sheet == null) {
continue;
}
// 循环行Row
for (int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++) {
Row row = sheet.getRow(rowNum);
if (row == null) {
continue;
}
Cell cell = row.getCell(1);
String str = cell.getStringCellValue();
String value = row.getCell(2).getStringCellValue();
//System.out.println(cell.getStringCellValue());
for (int numSheet2 = 0; numSheet2 < workbook.getNumberOfSheets(); numSheet2++) {
Sheet sheet2 = workbook.getSheetAt(numSheet2);
if (sheet2 == null) {
continue;
}
for (int rowNum2 = 1; rowNum2 <= sheet2.getLastRowNum(); rowNum2++) {
Row row2 = sheet2.getRow(rowNum2);
if (row2 == null) {
continue;
}
Cell cell2 = row2.getCell(1);
String str2 = cell2.getStringCellValue();
if(str.equals(str2)) {
System.out.println(str2 + "-------------");
Cell c = row2.getCell(2);
c.setCellValue(value);
out = new FileOutputStream("C:/1.xls");
workbook.write(out);
out.close();
}
}
}
}
}
}
public static void main(String[] args) throws Exception {
//test();
read();
}
}