用jxl将Excel中的数据导入功能的一个问题

来源:互联网 发布:淘宝联盟提现 10%和15 编辑:程序博客网 时间:2024/05/08 12:09

实现Excel中的数据导入功能,在网上找了些资料,最终用jxl.jar实现了,除了用了jxl.jar外,部分代码如下:

protected void doProcessPdo(PdoWrapperIf aPdoWrapper) {String excel_PATH = aPdoWrapper.getString(TAUPINIT_Constants.PATH);Workbook book = null;try {book = Workbook.getWorkbook(new File(excel_PATH));List<TYPRTEMPTAUPUDT> tTaupList = new ArrayList<TYPRTEMPTAUPUDT>();Sheet sheet = book.getSheet(0);for(int rownum = 1; rownum < sheet.getRows(); rownum++){TYPRTEMPTAUPUDT tTaup = new TYPRTEMPTAUPUDT();//Details to be importint idx = 0;//DDH VARCHAR2(20) NOT NULL,1if (StringUtils.isNotEmpty(sheet.getCell(idx, rownum).getContents())) {String pi_DDH = sheet.getCell(idx, rownum).getContents().trim();tTaup.setDDH(pi_DDH);}idx++;(中间省略n个字段信息)//HJXN VARCHAR2(20),if(StringUtils.isNotEmpty(sheet.getCell(idx,rownum).getContents())){String pi_HJXN = sheet.getCell(idx, rownum).getContents().trim();tTaup.setHJXN(pi_HJXN);}else{tTaup.setHJXN(null);}idx++;tTaupList.add(tTaup);}getAdaptedController().pretaupinit(tTaupList);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();JOptionPane.showMessageDialog(null, DataMaintainTxtRes.getResText("taup.import.message"), DataMaintainTxtRes.getResText("taup.import.title"), JOptionPane.ERROR_MESSAGE);}}
发现该功能适用于Office2003版本,但是本人写该帖的问题是:导入时如果新建一个Excel,将数据逐个写入Excel表中导入是没问题的,但是实际数据是从另一个系统(SAP)中导出的,格式完全符合,这时就不能导入,用格式刷将导出Excel的格式与新建的刷一致,有时候导入没问题,有时候导入就会有问题,不知什么地方的细节问题本人考虑不周,请高手就Excel导入功能指点。


0 0