List集合转换成Excel格式:
package importandexport;
import java.io.FileOutputStream;
import java.util.List;
import javax.annotation.Resource;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import check.entity.User;
import check.service.UserService;
public class WriteListToExcelFile {
private ApplicationContext ac ;
@Resource(name = "userService")
private UserService service;
public static void writeListToFile(String fileName, List<User> userList) throws Exception{
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("用户信息");
HSSFRow head = sheet.createRow(0);
head.createCell(0).setCellValue("account");
head.createCell(1).setCellValue("password");
if(userList!=null&&userList.size()>0) {
for (User user : userList) {
HSSFRow body = sheet.createRow(sheet.getLastRowNum()+1);
body.createCell(0).setCellValue(user.getAccount());
body.createCell(1).setCellValue(user.getPassword());
}
FileOutputStream fos = new FileOutputStream(fileName);
workbook.write(fos);
fos.close();
}
System.out.println("导出成功!");
}
@Test
public void test() throws Exception{
String[] config = {"config/spring-mvc.xml", "config/spring-mybatis.xml"};
ac= new ClassPathXmlApplicationContext(config);
UserService service = ac.getBean("userService", UserService.class);
List<User> list = service.findAll().getData();
System.out.println(list);
WriteListToExcelFile.writeListToFile("import.xls", list);
}
}
Excel格式转换成List集合:
package importandexport;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
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;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import check.entity.User;
import check.util.Util;
public class ReadExcelFileToList {
public static List<User> readExcelData(String fileName) {
List<User> userList = new ArrayList<User>();
try {
FileInputStream fis = new FileInputStream(fileName);
Workbook workbook = null;
if(fileName.toLowerCase().endsWith("xlsx")){
workbook = new XSSFWorkbook(fis);
}else if(fileName.toLowerCase().endsWith("xls")){
workbook = new HSSFWorkbook(fis);
}
int numberOfSheets = workbook.getNumberOfSheets();
for(int i=0; i < numberOfSheets; i++){
Sheet sheet = workbook.getSheetAt(i);
Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext())
{
String account = "";
String password = "";
Row row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext())
{
Cell cell = cellIterator.next();
switch(cell.getCellType()){
case Cell.CELL_TYPE_STRING:
if(account.equalsIgnoreCase("")){
account = cell.getStringCellValue().trim();
} else if(password.equalsIgnoreCase("")) {
password = cell.getStringCellValue().trim();
} else{
System.out.println("Random data::"+cell.getStringCellValue());
}
break;
case Cell.CELL_TYPE_NUMERIC:
System.out.println("Random data::"+cell.getNumericCellValue());
}
}
if(!"account".equals(account)) {
User user = new User();
user.setId(Util.createId());
user.setAccount(account);
user.setPassword(password);
userList.add(user);
}
}
}
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
return userList;
}
public static void main(String args[]){
List<User> list = readExcelData("import.xls");
System.out.println(list);
}
}