具体实现:
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.List;
import java.util.Map;
/**
* Created with IntelliJ IDEA.
*
* @Auther: caicai
* @Date: 2021/06/01/15:23
* @Description:
*/
public class ExcelToVcf {
private static String tempFileDir="D:\\temp"; //地址
public static final String BEGIN = "BEGIN:VCARD";
public static final String VERSION = "VERSION:3.0";
public static final String N = "N:";
public static final String FN = "FN:";
public static final String ORG = "ORG:";
public static final String TITLE = "TITLE:";
public static final String TEL = "TEL;TYPE=CELL:";
public static final String END = "END:VCARD";
public static void main(String[] args) throws FileNotFoundException {
String fileName = "test.xls";//excel名称
File file = new File(tempFileDir + File.separator + fileName);
ExcelReader reader;
//通过sheet编号获取
reader = ExcelUtil.getReader(file, 0);
List<Map<String,Object>> resList = reader.readAll();
PrintWriter pw = null;
File out = new File(tempFileDir + File.separator + "mytest.vcf"); //导出文件名称
pw = new PrintWriter(out);
for (Map<String,Object> map:resList) {
String vcContent = "";
vcContent += BEGIN + "\n";
vcContent += VERSION + "\n";
vcContent += N + map.get("姓名").toString() + "\n";
vcContent += FN + map.get("姓名").toString() + "\n";
if(CommonUtils.isNotEmpty(map.get("电话号码").toString())){
vcContent += TEL + map.get("电话号码").toString() + "\n";
}
vcContent += END + "\n";
pw.write(vcContent);
}
pw.close();
}
}