/**
* 从一个byte数组创建一个EIO文件
* @param data 以byte数组表示的数据源
* @param tempFileName 创建的临时文件名称,包括路径名,此路径必须可写
* @param option 打开方式
* option = 0 正常打开
* option = 1 正常打开
* option = 2 以只读方式打开
* option = 3 以副本方式打开
*@param mode 导入方式
* mode = 1 打开eio
* mode = 2 将微软格式文档导入到当前集成文件中
* @ throws Exception
* @ return 以Workbook表示的EIO文件
*/
public Workbook createWorkbookFromByteArray(byte[] data, String tempFileName, final int option, final int mode) throws Exception
/**
* 从网路或本地读取一个EIO文件,在内存中复制,将复制的EIO文件以byte数组返回.
* @param url 文件读取地址.
* @return 将复制的EIO文件以byte数组返回
* @throws IOException
*/
public byte[] getWorkbookAsByteArray(URL url) throws IOException
/**
* 从网路或本地读取一个EIO文件,在内存中复制,将复制的EIO文件以byte数组返回.
* @param url 文件读取地址.
* @return 将复制的EIO文件以byte数组返回
* @throws IOException
*/
public byte[] getWorkbookAsByteArray (Workbook book) throws IOException
/**
* 从网路或本地读取一个EIO文件,在内存中复制,将复制的EIO文件以Base64编码方式编码.
* @param url 文件读取地址.
* @return 将复制的EIO文件以Base64编码方式编码
* @throws IOException
*/
public String getWorkbookBase64Encoded(URL url) throws Exception
以下是获得文件流的一个具体例子。
/**
* 本例子中的程序为三个具体应用的部分程序的示例。
* 1、获得当前的Workbook的文件流
* 2、获得所有Workbook的文件流
* 请根据代码考虑一下如何实现贵公司的功能。
*/
/**
*打开一个集成文件.
*方法的原型为:openWorkbook(java.lang.String filename, int option, int mode)
* Parameters:
* filename - 集成文件名
* option - 打开方式
* option = 0 正常打开
* option = 1 正常打开
* option = 2 以只读方式打开
* option = 3 以副本方式打开
* mode - 导入方式
* mode = 1 打开eio
* mode = 2 将微软格式文档导入到当前集成文件中
*/
Application.getWorkbooks().openWorkbook("C:/EIO_Binders/testmacro.eio",0,1);
//获取当前所有集成文件对象
Workbooks books = Application.getWorkbooks();
//获取当前活动集成文件
Workbook book = books.getActiveWorkbook();
byte[] bookByte = null;
try
{
/**
* 从网路或本地读取一个EIO文件,在内存中复制,将复制的EIO文件以byte数组返回.
* @param url 文件读取地址.
* @return 将复制的EIO文件以byte数组返回
* @throws IOException
*/
bookByte = book.getWorkbookAsByteArray()
}
catch(IOException ex)
{
}
/**
*以下方法为获得所有的Workbook的文件流:
*/
Workbook book = null;
byte[] byte = null;
for (int i = 0; i < books.length; i ++)
{
book = books[i];
try
{
/**
* 从网路或本地读取一个EIO文件,在内存中复制,将复制的EIO文件以byte数组返回.
* @param url 文件读取地址.
* @return 将复制的EIO文件以byte数组返回
* @throws IOException
*/
byte = book.getWorkbookAsByteArray()
}
catch(IOException ex)
{
}
}
|