// 是否仅导出有数据的区域,该方法对所有的导出生效(默认为false)
table.getIOManager().setExpandedOnly(true);

输入KDF

如果你已经有了一个完整的KDF文件,我们推荐使用com.kingdee.bos.ctrl.kdf.file.KDF类来读取和管理其中的对象,包括KDTable。要读取其中的KDTable对象,可以使用如下所示的代码(假设你的.kdf文件存放目录为"yoururl\test.kdf"):
 KDF kdf = new KDF("yoururl\\test.kdf");
 KDTable table = kdf.getTableByIndex(0);
 //如果要加载已保存在kdf中的打印设置;
 table. getPrintManager().setFromKDF(kdf);
或者是
 KDF kdf = new KDF("yoururl\\test.kdf");
 KDTable table = kdf.getTableByID("table1");
//如果要加载已保存在kdf中的打印设置;
table. getPrintManager().setFromKDF(kdf);
当然你也可以直接使用KDTIOManager类读取KDF文件,但是由于KDTIOManager不具备KDF文件管理功能,所以它只能读取文件中描述的第一个KDTable对象。
 KDTable table = new KDTable();
 table.load("yoururl\\test.kdf");
如果要保存打印设置到kdf:
 KDTable table = new KDTable();
 KDF kdf = new KDF();
 table.getPrintManager().saveToKDF(kdf);
 kdf.saveToFile("yoururl\\test.kdf");
对于专用于描述KDTable对象的KDF文件来说,这种方法是相当快捷方便的。

输出KDF

KDTable对象可以直接被序列化并且保存为KDF文件 table.getIOManager().save("yourfile.kdf");

输出KDS

KDS结构是一种中间数据结构,通过KDS作为桥梁,可以在KDTable和Excel、PDF等等多种数据格式之间进行交换。
一个KDTable对应于一个KDS Sheet,而一个KDS Book包含多个KDS Sheet。KDTable和KDS之间转换的接口都是在KDTIOManager提供的,通过如下接口可以将一个KDTable转换为KDS Sheet:
/**
 * 将当前表转换成一个KDS Sheet
 * @param book Sheet所属的KDS Book
 * @param withHead 是否转换表头
 * @param withIndex 是否转换索引列
 * @param sheetName Sheet名字
 * @return
 */
public KDSSheet saveToKDSSheet(KDSBook book,boolean withHead,boolean withIndex,String sheetName)
此外,作为一种比较方便的选择,也可以通过KDTIOManager提供的接口来实现将KDTable转换为一个KDS Book的功能,比如:
KDSBook book = table.getIOManager().saveToKDS();通过如下重载的方法,用户可以指定转换时选项。
/**
 * 将当前的KDTable转换成KDSBook。<br>
 * 默认不带索引列,但是带表头。
 * @param bookName
 * @return
 */
public KDSBook saveToKDS(String bookName)
/**
 * 将当前的KDTable转换成KDSBook
 * @param bookName
 * @param withHead 是否转换表头
 * @param withIndex 是否转换索引列
 * @return
 */
public KDSBook saveToKDS(String bookName,boolean withHead,boolean withIndex)
/**
 * 从KDS解析KDTable对象,默认将第一行导入到表头
 * @param sheet
 */
public void parseFromKDS(KDSSheet sheet)
/**
 * 从KDS解析KDTable对象
 * @param sheet
 * @param headRowCount 表头行数
 */
public void parseFromKDS(KDSSheet sheet,int headRowCount)

KDS数据与其它形式数据的交换

KDS数据是一种网格状的数据结构,如下类中封装了从KDS中导出数据到其它数据形式的接口:
com.kingdee.bos.ctrl.kdf.export.ExportManager
目前支持导出到Excel、PDF、CSV、RTF格式的文件。接口详情请参阅Java Doc。
同时,如下类提供了从Excel文件中导入数据到KDS的接口:
com.kingdee.bos.ctrl.kdf.read.POIXlsReader
目前只支持从Excel文件的导入。接口详情请参阅Java Doc。
示例:Excel与KDTable之间的导入导出
Excel导入到KDTable
/**
 * 从Excel中装载信息到KDTable,默认装载第一个Sheet的内容
 * @param filesName
 * @param headRowCount 指定装载到表头中的行数
 */
void loadFromExcel(String fileName,int headRowCount)
{KDSBook book = POIXlsReader.parse(fileName);this.parseFromKDS(book.getSheet(new Integer(0)),headRowCount); }

KDTable导出到Excel
/**
 * 将当前KDTable对象作为Excel Sheet添加到一个Excel文件中
 * @param fileName Excel文件名
 * @param withHead 是否转换表头
 * @param withIndex 是否转换索引列
 * @param sheetName Sheet名字
 */
void appendToExcel(String fileName,boolean withHead,boolean withIndex,String sheetName)
{File file = new File(fileName);
  KDSBook book = null;
  if(file.exists())
  book = POIXlsReader.parse(fileName);
    else
        book = new KDSBook(file.getName());
   try
    {
        book.addSheet(null,ioManager.saveToKDSSheet(book,withHead,withIndex,sheetName));
    }
    catch (Exception err)
    {
        err.printStackTrace();
    }
    ExportManager man = new ExportManager();
    man.exportToExcel(book,fileName);}

eas之导入导出的更多相关文章

  1. CRL快速开发框架系列教程九(导入/导出数据)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  2. ITTC数据挖掘平台介绍(五) 数据导入导出向导和报告生成

    一. 前言 经过了一个多月的努力,软件系统又添加了不少新功能.这些功能包括非常实用的数据导入导出,对触摸进行优化的画布和画笔工具,以及对一些智能分析的报告生成模块等.进一步加强了平台系统级的功能. 马 ...

  3. ASP.NET Core 导入导出Excel xlsx 文件

    ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...

  4. Oracle 数据库导入导出 dmp文件

    转自: http://hi.baidu.com/ooofcu/blog/item/ec5d1f9580d41f007af48077.html 首先询问对方数据库的表空间名称和大小,然后在你的oracl ...

  5. Oracle导入导出

    Oracle 10g 已经引入了数据泵(点击Data Dump)技术,这项技术和之前的exp/imp有哪些好处呢,简单的来说就是恢复和备份速度非常快: 在说明数据泵的使用方法之前,我们先来了解二者的区 ...

  6. csv表格处理(上)-- JS 与 PHP 协作导入导出

    CSV简介 在开发后台管理系统的时候,几乎无可避免的会遇到需要导入导出Excel表格的需求.csv也是表格的一种,其中文名为“逗号分隔符文件”.在Excel中打开如下图左边所示,在记事本打开如下图右边 ...

  7. PHP导入导出excel表格图片(转)

    写excel的时候,我用过pear的库,也用过pack压包的头,同样那些利用smarty等作的简单替换xml的也用过,csv的就更不用谈了.呵呵.(COM方式不讲了,这种可读的太多了,我也写过利用wp ...

  8. excel的导入导出的实现

    1.创建Book类,并编写set方法和get方法 package com.bean; public class Book { private int id; private String name; ...

  9. 利用反射实现通用的excel导入导出

    如果一个项目中存在多种信息的导入导出,为了简化代码,就需要用反射实现通用的excel导入导出 实例代码如下: 1.创建一个 Book类,并编写set和get方法 package com.bean; p ...

随机推荐

  1. 零基础学python-4.2 其它内建类型

    这一章节我们来聊聊其它内建类型 1.类型type 在python2.2的时候,type是通过字符串实现的,再后来才把类型和类统一 我们再次使用上一章节的图片来说明一些问题 我们通过对照上面的图片.在p ...

  2. java 效率编程 的一些小知识点

    1.在程序中若出现字符串连接的情况.请使用StringBuffer取代String,这样能够降低多次创建String以及垃圾回收所带来的内存消耗 2.尽量使用局部变量. 调用方法时传递的參数以及调用中 ...

  3. @Repository @Service 和@Autowired 的使用

    解释: @Controller 声明Action组件 @Service   声明Service组件    @Service("myMovieLister")  @Repositor ...

  4. UISearchBar作为inputAccessoryView时的响应链

    UISearchBar对象做为一个普通的视图对象加入到视图控制器的self.view中,定义.初始化.设置delegate.然后becomeFirstResponder,最后resignFirstRe ...

  5. ios单元測试之GHUnit

    1.相同创建一个測试的project, 2.通过cocoaPod来下载GHUnit框架,或者到github上下载.由于这个框架是开源的第三方框架. 同一时候加入QuartCore.framework( ...

  6. Spring发送邮件_javax.mail.AuthenticationFailedException异常已解决

    在Spring项目中须要增加监控功能.监控过程中发现异常时.须要邮件报警.最初选择用javamail发送,代码量比較大(相对于spring发送).终于选择Spring邮件发送~ 以下贴一下实现的代码以 ...

  7. JSONObject.toBean() data转换

    //toBean方法不识别date属性  要把VO的DATE该成UTIL包下的DATE 然后加上下面的代码.不然会报错JSONUtils.getMorpherRegistry().registerMo ...

  8. 1D1D动态规划优化

    1D1D动态规划优化 1D/1D 动态规划优化初步所谓1D/1D 动态规划,指的是状态数为O(n),每一个状态决策量为O(n)的动态规划方程.直接求解的时间复杂度为O(n2),但是,绝大多数这样的方程 ...

  9. dp状态压缩

    dp状态压缩 动态规划本来就很抽象,状态的设定和状态的转移都不好把握,而状态压缩的动态规划解决的就是那种状态很多,不容易用一般的方法表示的动态规划问题,这个就更加的难于把握了.难点在于以下几个方面:状 ...

  10. php 写日志函数

    function insertLog($operate,$description){ $sql="INSERT INTO operate(op,operate,description,cre ...