背景:经常会受到一些临时性的批量发短信的任务。
MAVEN依赖:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
1 import java.io.File; 2 import java.io.FileInputStream; 3 import java.io.InputStream; 4 import java.util.Iterator; 5 6 import org.apache.poi.hssf.usermodel.HSSFCell; 7 import org.apache.poi.hssf.usermodel.HSSFWorkbook; 8 import org.apache.poi.ss.usermodel.Cell; 9 import org.apache.poi.ss.usermodel.Row; 10 import org.apache.poi.ss.usermodel.Sheet; 11 import org.apache.poi.ss.usermodel.Workbook; 12 import org.apache.poi.xssf.usermodel.XSSFWorkbook; 13 import org.springframework.util.LinkedMultiValueMap; 14 import org.springframework.util.MultiValueMap; 15 16 import com.hundsun.moz62.mgudon.common.util.RestTemplateUtil; 17 import com.hundsun.moz62.mgudon.sms.model.SmsParamConstants; 18 19 public class ReadExcel { 20 21 private static final String SUFFIX_2003 = ".xls"; 22 private static final String SUFFIX_2007 = ".xlsx"; 23 static String url="***"; 24 static String content="***"; 25 26 public static void main(String[] args) throws Exception { 27 int i=0; 28 String mFilePath = "C:/Users/zengao15141/Desktop/test.xlsx"; 29 File file = new File(mFilePath); 30 InputStream is = new FileInputStream(file); 31 32 Workbook workbook = null; 33 // 根据后缀,得到不同的Workbook子类,即HSSFWorkbook或XSSFWorkbook 34 if (mFilePath.endsWith(SUFFIX_2003)) { 35 workbook = new HSSFWorkbook(is); 36 } else if (mFilePath.endsWith(SUFFIX_2007)) { 37 workbook = new XSSFWorkbook(is); 38 } 39 40 // 解析第一个Sheet 41 Sheet sheet = workbook.getSheetAt(0); 42 Row row; 43 Iterator<Row> iteratorR = sheet.iterator(); 44 while(iteratorR.hasNext()) { 45 row = iteratorR.next(); 46 //由于第一行是标题,因此这里单独处理 47 Cell cell; 48 49 //利用迭代器得到每一个cell 50 Iterator<Cell> iteratorC = row.iterator(); 51 while (iteratorC.hasNext()) { 52 cell = iteratorC.next(); 53 54 //定义每一个cell的数据类型 55 cell.setCellType(HSSFCell.CELL_TYPE_STRING); 56 i++; 57 //取出cell中的value 58 String mobile = cell.getStringCellValue(); 59 // sendMessage(mobile,content); 60 System.out.println(mobile); 61 } 62 63 } 64 System.out.println(i); 65 //sendMessage("**",content); 66 } 67 68 }