Jfinal下哪个POI导入工具最强大,适合处理长尾词?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2186个文字,预计阅读时间需要9分钟。
javapublic class TestImportTchService { public static void main(String[] args) { TestConfig.init(); File file=new File(C:/Users/dufuzhong/Desktop/crm_import_temp.xls); ImportTchService.me.developing=true; ImportXls(file); }}
TestImportTchServicepublic class TestImportTchService { public static void main(String[] args) { TestConfig.init(); File file = new File("C:/Users/dufuzhong/Desktop/crm_import_temp.xls"); // ImportTchService.me.developing = true; ImportXls importXls = ImportTchService.me.getImportXls("1", 1); Kv kv = importXls.save(file, "crm_opportunity"); StringBuilder msgs = importXls.getMsgs(); System.out.println(kv.toJson()); System.out.println(msgs.toString()); System.exit(0); } } ImportXls
/**
* Copyright (c) 2017 MomaThink (Beijing) Technology Inc. All rights reserved.
* Company:摩码创想(北京)科技有限公司
*
* @author dufuzhong
* @date 2017年8月8日 下午10:19:54
*/
package com.momathink.common.tools.util;
import java.io.File;
import java.io.FileInputStream;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
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.CellStyle;
import com.jfinal.kit.Kv;
import com.jfinal.kit.StrKit;
import com.jfinal.plugin.activerecord.Record;
import com.momathink.common.kit.Db;
/**
*
* @author dufuzhong
* @date 2017年8月9日 上午10:14:01
*
* 如果需要异步处理:
* new Thread(){ ImportXls的处理 }.start();
*
*/
public abstract class ImportXls {
protected HashMap
* 例子: return new Kv().set("姓名","name") ...
* @param index sheet的页数
* */
protected abstract Kv getTitleAndColumn(int index);
/**
* 检查 record 的字段 是否符合数据库字段写入要求(字段已处理两端空格和空的情况都=null)
*/
protected Record setRecord(Record record, String column, Object value, int rowIndex, int rowIndexCount, int cellnum) {
return record.set(column, value);
}
/**
* 检查 record 是否符合数据库写入要求(字段已处理两端空格和空的情况都=null)
* @param rowIndexCount : rowIndex + 1
* @return 允许写入:返回true 不允许写入:返回false
*/
protected boolean isCheckRecord(Record record, int rowIndex, int rowIndexCount) {
return true;
}
/**
* 检查 record 是否 需要 停止读取
* @param rowIndexCount : rowIndex + 1
* @return 停止读取:返回true 不停止读取:返回false
*/
private boolean isCheckBreak(Record record, int rowIndex, int rowIndexCount) {
return false;
}
/**
* 单表导入
* @param file: XLS 文件
* @param tableName: 表名
* @return Kv: isOK=成功数 , isNo=失败数 , length=执行总数 , errcode=异常状态 , errmsg=异常信息
*/
public Kv save(File file, String tableName) {
Kv ret = new Kv().set("isOK", 0).set("isNo", 0).set("length", 0).set("errcode", 0);
try {
HSSFWorkbook hwb = new HSSFWorkbook(new FileInputStream(file));
int index = 0;//预留多sheet导入
HSSFSheet sheet = hwb.getSheetAt(index);
Kv columns = new Kv();
List
"); } /**获取日志 * */ public StringBuilder getMsgs(){ return msgs; } /** * 验证时间字符串格式 是否正确 , 如果不正确返回 默认值 */ protected static String getCheckDateTimeStr(Object timeStr, String defaultTimeStr) { return isCheckDateTimeStr((String)timeStr) ? (String)timeStr : defaultTimeStr; } /** * 验证时间字符串格式 是否正确 */ protected static boolean isCheckDateTimeStr(String timeStr) { return timeStr.matches( "((19|20)[0-9]{2})-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01]) ([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]"); } /** * 验证时间字符串格式 是否正确 , 如果不正确返回 默认值 */ protected static String getCheckDateStr(Object timeStr, String defaultTimeStr) { return isCheckDateStr((String)timeStr) ? (String)timeStr : defaultTimeStr; } /** * 验证时间字符串格式 是否正确 */ protected static boolean isCheckDateStr(String timeStr) { return timeStr.matches( "((19|20)[0-9]{2})-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])"); } }
public class ImportTchService {
public static final ImportTchService me = new ImportTchService();
public boolean developing = false;
/**
* 组装导入业务 结构
* */
public ImportXls getImportXls(final Object campusid, final Object userids) {
return new ImportXls(){
@Override
protected int[] batchSave(String tableName, List
本文共计2186个文字,预计阅读时间需要9分钟。
javapublic class TestImportTchService { public static void main(String[] args) { TestConfig.init(); File file=new File(C:/Users/dufuzhong/Desktop/crm_import_temp.xls); ImportTchService.me.developing=true; ImportXls(file); }}
TestImportTchServicepublic class TestImportTchService { public static void main(String[] args) { TestConfig.init(); File file = new File("C:/Users/dufuzhong/Desktop/crm_import_temp.xls"); // ImportTchService.me.developing = true; ImportXls importXls = ImportTchService.me.getImportXls("1", 1); Kv kv = importXls.save(file, "crm_opportunity"); StringBuilder msgs = importXls.getMsgs(); System.out.println(kv.toJson()); System.out.println(msgs.toString()); System.exit(0); } } ImportXls
/**
* Copyright (c) 2017 MomaThink (Beijing) Technology Inc. All rights reserved.
* Company:摩码创想(北京)科技有限公司
*
* @author dufuzhong
* @date 2017年8月8日 下午10:19:54
*/
package com.momathink.common.tools.util;
import java.io.File;
import java.io.FileInputStream;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
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.CellStyle;
import com.jfinal.kit.Kv;
import com.jfinal.kit.StrKit;
import com.jfinal.plugin.activerecord.Record;
import com.momathink.common.kit.Db;
/**
*
* @author dufuzhong
* @date 2017年8月9日 上午10:14:01
*
* 如果需要异步处理:
* new Thread(){ ImportXls的处理 }.start();
*
*/
public abstract class ImportXls {
protected HashMap
* 例子: return new Kv().set("姓名","name") ...
* @param index sheet的页数
* */
protected abstract Kv getTitleAndColumn(int index);
/**
* 检查 record 的字段 是否符合数据库字段写入要求(字段已处理两端空格和空的情况都=null)
*/
protected Record setRecord(Record record, String column, Object value, int rowIndex, int rowIndexCount, int cellnum) {
return record.set(column, value);
}
/**
* 检查 record 是否符合数据库写入要求(字段已处理两端空格和空的情况都=null)
* @param rowIndexCount : rowIndex + 1
* @return 允许写入:返回true 不允许写入:返回false
*/
protected boolean isCheckRecord(Record record, int rowIndex, int rowIndexCount) {
return true;
}
/**
* 检查 record 是否 需要 停止读取
* @param rowIndexCount : rowIndex + 1
* @return 停止读取:返回true 不停止读取:返回false
*/
private boolean isCheckBreak(Record record, int rowIndex, int rowIndexCount) {
return false;
}
/**
* 单表导入
* @param file: XLS 文件
* @param tableName: 表名
* @return Kv: isOK=成功数 , isNo=失败数 , length=执行总数 , errcode=异常状态 , errmsg=异常信息
*/
public Kv save(File file, String tableName) {
Kv ret = new Kv().set("isOK", 0).set("isNo", 0).set("length", 0).set("errcode", 0);
try {
HSSFWorkbook hwb = new HSSFWorkbook(new FileInputStream(file));
int index = 0;//预留多sheet导入
HSSFSheet sheet = hwb.getSheetAt(index);
Kv columns = new Kv();
List
"); } /**获取日志 * */ public StringBuilder getMsgs(){ return msgs; } /** * 验证时间字符串格式 是否正确 , 如果不正确返回 默认值 */ protected static String getCheckDateTimeStr(Object timeStr, String defaultTimeStr) { return isCheckDateTimeStr((String)timeStr) ? (String)timeStr : defaultTimeStr; } /** * 验证时间字符串格式 是否正确 */ protected static boolean isCheckDateTimeStr(String timeStr) { return timeStr.matches( "((19|20)[0-9]{2})-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01]) ([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]"); } /** * 验证时间字符串格式 是否正确 , 如果不正确返回 默认值 */ protected static String getCheckDateStr(Object timeStr, String defaultTimeStr) { return isCheckDateStr((String)timeStr) ? (String)timeStr : defaultTimeStr; } /** * 验证时间字符串格式 是否正确 */ protected static boolean isCheckDateStr(String timeStr) { return timeStr.matches( "((19|20)[0-9]{2})-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])"); } }
public class ImportTchService {
public static final ImportTchService me = new ImportTchService();
public boolean developing = false;
/**
* 组装导入业务 结构
* */
public ImportXls getImportXls(final Object campusid, final Object userids) {
return new ImportXls(){
@Override
protected int[] batchSave(String tableName, List

