package com.vci.client.oq.ui; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.swing.JFileChooser; import javax.swing.filechooser.FileFilter; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import com.vci.client.LogonApplication; import com.vci.client.common.providers.ServiceProvider; import com.vci.client.oq.QTDClient; import com.vci.corba.omd.qtm.QTD; public class ImpQTD { public ImpQTD() { } public boolean impExcel(){ JFileChooser jf = new JFileChooser(); jf.setDialogTitle("打开"); jf.removeChoosableFileFilter(jf.getFileFilter()); jf.setFileFilter(new FileFilter() { public String getDescription() { return "xls"; } public boolean accept(File f) { return ((f.isDirectory()) || (f.getName().endsWith(".xls"))); } }); int showOpenDialog = jf.showOpenDialog(LogonApplication.frame); if(showOpenDialog == JFileChooser.APPROVE_OPTION){ File selectedFile = jf.getSelectedFile(); String fileName = selectedFile.getAbsolutePath(); if(!fileName.endsWith(".xls")){ fileName = fileName + ".xls"; } FileInputStream fin = null; try { List qtds = new ArrayList(); fin = new FileInputStream(fileName); HSSFWorkbook workbook = new HSSFWorkbook(fin); HSSFSheet sheet = workbook.getSheetAt(0); HSSFRow titleRow = sheet.getRow(0); for(int i = 1; i<=sheet.getLastRowNum(); i++){ HSSFRow row = sheet.getRow(i); QTD qtd = this.parse2QTD(row, titleRow); if(qtd != null){ qtds.add(qtd); } } System.out.println(qtds.size()); for(QTD qtd: qtds){ boolean isExist = ServiceProvider.getOMDService().getQTDService().isExistsQTD(qtd.name); if(!isExist){ boolean isSuc = ServiceProvider.getOMDService().getQTDService().addQTD(qtd); } } return true; } catch (Exception e) { e.printStackTrace(); }finally{ if(fin != null){ try{ fin.close(); }catch(Exception e){ } } } } return false; } private QTD parse2QTD(HSSFRow row, HSSFRow titleRow) { QTD qtd = null; for(int i=0; i< titleRow.getLastCellNum(); i++){ String title = titleRow.getCell(i).getStringCellValue(); String value = row.getCell(i).getStringCellValue(); if(value == null || value.trim().length() == 0){ continue; } if(qtd == null){ qtd = new QTD(); } if(title.equals("模板定义名称")){ qtd.name = value.trim(); }else if(title.equals("业务类型")){ qtd.btmName = value.trim(); }else if(title.equals("链接类型")){ qtd.linkTypeName = value.trim(); }else if(title.equals("模板可用字段")){ qtd.abNames = value.trim().split(","); }else if(title.equals("创建人")){ qtd.creator = value.trim(); }else if(title.equals("创建时间")){ qtd.createTime = Long.valueOf(value.trim()); } } return qtd; } }