eas之导入导出
// 是否仅导出有数据的区域,该方法对所有的导出生效(默认为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);}
最新文章
- java常用工具
- iOS索引列开发详解
- C语言文件处理
- 数据结构和算法 &ndash; 4.字符串、 String 类和 StringBuilder 类
- C# 使用 SAP NCO3.0 调用SAP RFC函数接口
- JVM的粗略简述
- sar 找出系统瓶颈的利器
- 著名的二分查找的BUG
- MFC简易画图
- 一幅图概括Android测试的方方面面
- PuTTY DSA签名远程缓冲区溢出漏洞(CVE-2013-4207)
- golang实现tcp接入服务器
- InsertOnSubmit、InsertAllOnSubmit等区别 (转)
- 关于css禁止文本复制属性
- 1 Acid burn ★ Nag,Name/Serial,Serial
- Hibernate哪点事?
- Winform远程更新代码
- python接口自动化(二十三)--unittest断言——上(详解)
- 11. cookie_session_原生ajax_readyState的值_同源策略_跨域_jsonp的使用
- 170217、nginx 安装时候报错:make: *** No rule to make target `build&#39;, needed by `default&#39;. Stop.
热门文章
- ZooKeeper之初识
- 在imageView依次加入7个手势, 1.点击哪个button,往imageView上加入哪个手势.(保证视图上仅仅有一个手势). 2.轻拍:点击视图切换美女图片.(imageView上首先展示的美女
- 关于PHP会话:session和cookie
- Android给定坐标计算距离
- 1+2+3+...+n不能用while、for、if else等实现
- 【Discuz】去除版权信息,标题栏与底部改动
- luogu1522 牛的旅行
- leetcode数组相关
- Largest Rectangle in a Histogram(dp)
- bzoj1725 [Usaco2006 Nov]Corn Fields牧场的安排(状压dp)