|  |  |  | @ -1,27 +1,24 @@ | 
			
		
	
		
			
				
					|  |  |  |  | package com.platform.utils.excelUtils; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import java.io.FileInputStream; | 
			
		
	
		
			
				
					|  |  |  |  | import java.io.FileNotFoundException; | 
			
		
	
		
			
				
					|  |  |  |  | import java.io.IOException; | 
			
		
	
		
			
				
					|  |  |  |  | import java.lang.reflect.Field; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.Date; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.List; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import org.apache.poi.hssf.usermodel.HSSFCell; | 
			
		
	
		
			
				
					|  |  |  |  | import org.apache.poi.hssf.usermodel.HSSFCellStyle; | 
			
		
	
		
			
				
					|  |  |  |  | import org.apache.poi.hssf.usermodel.HSSFFont; | 
			
		
	
		
			
				
					|  |  |  |  | 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.hssf.util.HSSFColor; | 
			
		
	
		
			
				
					|  |  |  |  | import org.apache.poi.xssf.usermodel.XSSFCell; | 
			
		
	
		
			
				
					|  |  |  |  | import org.apache.poi.xssf.usermodel.XSSFCellStyle; | 
			
		
	
		
			
				
					|  |  |  |  | import org.apache.poi.xssf.usermodel.XSSFFactory; | 
			
		
	
		
			
				
					|  |  |  |  | import org.apache.poi.xssf.usermodel.XSSFFont; | 
			
		
	
		
			
				
					|  |  |  |  | import org.apache.poi.xssf.usermodel.XSSFRow; | 
			
		
	
		
			
				
					|  |  |  |  | import org.apache.poi.xssf.usermodel.XSSFSheet; | 
			
		
	
		
			
				
					|  |  |  |  | import org.apache.poi.xssf.usermodel.XSSFWorkbook; | 
			
		
	
		
			
				
					|  |  |  |  | import org.springframework.core.io.ClassPathResource; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import com.base.Constant; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | /** | 
			
		
	
		
			
				
					|  |  |  |  |  * @author chen | 
			
		
	
		
			
				
					|  |  |  |  |  * excel2007操作 | 
			
		
	
	
		
			
				
					|  |  |  | @ -37,15 +34,17 @@ public class ExcelOperation { | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @throws IllegalAccessException  | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @throws IllegalArgumentException  | 
			
		
	
		
			
				
					|  |  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  |  | 	public static XSSFWorkbook readExcelTemplate(String templateFilePath, List list) throws FileNotFoundException, IOException, IllegalArgumentException, IllegalAccessException { | 
			
		
	
		
			
				
					|  |  |  |  | 		System.out.println(templateFilePath); | 
			
		
	
		
			
				
					|  |  |  |  | 	public static XSSFWorkbook writeExcelTemplate(String templateFilePath, List list) throws FileNotFoundException, IOException, IllegalArgumentException, IllegalAccessException { | 
			
		
	
		
			
				
					|  |  |  |  | //		InputStreamReader in= new InputStreamReader(Resource.class.getResourceAsStream(templateFilePath), "UTF-8");
 | 
			
		
	
		
			
				
					|  |  |  |  | 		ClassPathResource res = new ClassPathResource(templateFilePath); | 
			
		
	
		
			
				
					|  |  |  |  | 		XSSFWorkbook workbook = new XSSFWorkbook(res.getInputStream());//getAbsolutePath()
 | 
			
		
	
		
			
				
					|  |  |  |  | 		 | 
			
		
	
		
			
				
					|  |  |  |  | 		//此处 耗时太久:(原因:excel 2007 以后采用的方式不同造成的建议升级 到 poi 3.15以上)
 | 
			
		
	
		
			
				
					|  |  |  |  | 		Date date = new Date(); | 
			
		
	
		
			
				
					|  |  |  |  | 		XSSFWorkbook workbook = new XSSFWorkbook(res.getInputStream()); | 
			
		
	
		
			
				
					|  |  |  |  | 		Date date2 = new Date(); | 
			
		
	
		
			
				
					|  |  |  |  | 		System.out.println(" new XSSFWorkbook: "+ (date2.getTime()-date.getTime())); | 
			
		
	
		
			
				
					|  |  |  |  | 		 | 
			
		
	
		
			
				
					|  |  |  |  | 		//从第几行 填充数据
 | 
			
		
	
		
			
				
					|  |  |  |  | 		int excelInitRow = 10; | 
			
		
	
		
			
				
					|  |  |  |  | 		int excelInitRow = Constant.EXCEL_TEMPLATE_INIT_ROW; | 
			
		
	
		
			
				
					|  |  |  |  | 		 //读取工作表
 | 
			
		
	
		
			
				
					|  |  |  |  | 		XSSFSheet sheet = workbook.getSheetAt(0);//getSheet("Sheet1");
 | 
			
		
	
		
			
				
					|  |  |  |  | 	    XSSFRow row; | 
			
		
	
	
		
			
				
					|  |  |  | @ -76,6 +75,12 @@ public class ExcelOperation { | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 		for (int k = 0; k < lengths; k++) { | 
			
		
	
		
			
				
					|  |  |  |  | 			sheet.autoSizeColumn(k); | 
			
		
	
		
			
				
					|  |  |  |  | 			int width = sheet.getColumnWidth(k); | 
			
		
	
		
			
				
					|  |  |  |  | 			if (width < 1600) { | 
			
		
	
		
			
				
					|  |  |  |  | 				sheet.setColumnWidth(k, 1600); | 
			
		
	
		
			
				
					|  |  |  |  | 			}else { | 
			
		
	
		
			
				
					|  |  |  |  | 				sheet.setColumnWidth(k, width + 1000); | 
			
		
	
		
			
				
					|  |  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 		return workbook;  | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
	
		
			
				
					|  |  |  | 
 |