集智平台API导出txt文件自定义换行符

一些客户在使用报表做api开发的时候,经常会用到润乾平台API导出txt文件自定义换行符">报表导出txt文件的功能。在导出txt文件时,许多客户想自己定义导出txt文件的换行符,如果用jsp发布报表可以通过标签来实现相应的功能,但是如果要在api中,就需要调用润乾api的相应代码来实现功能了,下面就介绍一种使用api来导出text文件并自定义换行符的方法。

如果要实现导出txt文件自定义换行符功能,就要用到润乾api中的类TextFile,这可能与我们平时所熟悉的导出类命名有些不一样,比如导出excel是ExcelReport,导出pdf是PdfReport,导出word是WordReport,其实润乾的api中也有一个叫TextReport的类,这个类也是导出txt文件用的,只不过这个类里面没有封装设置换行符的方法。

我们可以在TextFile的构造方法中设置导出txt的换行符,是构造方法中的第三个参数,如: TextFile textFile = new TextFile(ireport,” “,”\n”); 第一个参数是要输出的报表对象,第二个参数是报表数据之间的间隔字符,第三个参数就是可以自己定义的换行符。在构造了textFile对象之后,可以调用textFile.toString()方法将报表数据和换行等信息放到一个字符串里,最后构造输出流把这个字符串写到硬盘的txt文件里。

完整的测试api导出text文件自定义换行符的代码如下:

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.io.OutputStream;

import java.io.OutputStreamWriter;

import com.runqian.report4.model.ReportDefine;

import com.runqian.report4.model.engine.ExtCellSet;

import com.runqian.report4.usermodel.Context;

import com.runqian.report4.usermodel.Engine;

import com.runqian.report4.usermodel.IReport;

import com.runqian.report4.util.ReportUtils;

import com.runqian.report4.view.text.TextFile;

public class TestTextReport {

public static void main(String[] args) throws Exception {

// TODO Auto-generated method stub

ReportDefine rd = (ReportDefine)ReportUtils.read(“E:\\testFile\\12.raq”);

Context ctx = new Context();

Engine engine = new Engine(rd,ctx);

IReport ireport = engine.calc();

ExtCellSet.setLicenseFileName(“E:\\reportHome\\webapps\\demo\\WEB-INF\\classes\\runqianWindowServer.lic”);//设置授权

TextFile textFile = new TextFile(ireport,” “,”\n”);

String text = textFile.toString();

System.out.println(text);

OutputStream os = new FileOutputStream(“D:\\TEXT.txt”);//创建导出的输出流

OutputStreamWriter osw = new OutputStreamWriter(os);

osw.write(text,0,text.length());//内容写到流中

osw.close();

os.close();

}

}

执行上面的代码,可以看到硬盘上生成了要导出的txt文件。

本文标签: