zoukankan      html  css  js  c++  java
  • eas之导入导出

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

    输入KDF

    如果你已经有了一个完整的KDF文件,我们推荐使用com.kingdee.bos.ctrl.kdf.file.KDF类来读取和管理其中的对象,包括KDTable。要读取其中的KDTable对象,可以使用如下所示的代码(假设你的.kdf文件存放目录为"yoururl est.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);}


  • 相关阅读:
    滑块破解
    数据结构与算法
    图形验证码 tesserocr pillow
    drf版本控制 和django缓存,跨域问题,
    Django-DRF-图书增删改查 !!!
    Django 序列化-token
    Python- redis缓存 可达到瞬间并发量10W+
    GIT 版本管理-github&码云
    Python 三种过滤去重方法
    LINUX-MYSQL
  • 原文地址:https://www.cnblogs.com/luojiabao/p/10963846.html
Copyright © 2011-2022 走看看