The below sample can be used to generate a task that will output the report data in plain text. The task can be extended to allow parameters to be input to make the task more dynamic.

public class ExportToPlainText extends AbstractBaseTask
{
public ExportToPlainText()
{
super("ds");
}
static void createSession()
throws Exception
{
factory = WebObjectsFactory.getInstance();
serverSession = factory.getIServerSession();
serverSession.setServerName("localhost");
serverSession.setServerPort(0);
serverSession.setProjectName("Strategy Tutorial");
serverSession.setLogin("administrator");
serverSession.setPassword("");
serverSession.setApplicationType(8);
String sessionID = serverSession.getSessionID();
System.out.println(0);
}
public void processRequest(TaskRequestContext context, MarkupOutput markupOutput)
throws TaskException
{
try
{
createSession();
}
catch(Exception e)
{
e.printStackTrace();
}
String textSeparator = ",";
BeanFactory factory = BeanFactory.getInstance();
ReportBean reportBean = (ReportBean)factory.newBean("ReportBean");
WebBeanFactory fac = WebBeanFactory.getInstance();
BeanContext beanContext = fac.newBeanContext();
try
{
StyleCatalog styleCatalog = (StyleCatalog)ConfigurationFilesCache.getConfiguration(".\\WEB-INF\\xml\\styleCatalog.xml", com/MicroStrategy/web/transform/StyleCatalogImpl);
beanContext.setStyleCatalog(styleCatalog);
reportBean.setSessionInfo(serverSession);
reportBean.setBeanContext(beanContext);
reportBean.setExecutionFlags(2432);
reportBean.setResultFlags(0x20080);
reportBean.setName("Customer Income Analysis");
reportBean.setObjectID("256263D142248D56446F3A80AD100C06");
reportBean.setExecutionMode(4);
WebReportPlainTextExportSettings exportSettings = (WebReportPlainTextExportSettings)reportBean.getExportSettings();
exportSettings.setSeparator(textSeparator);
reportBean.collectData();
String plainTextData = reportBean.getReportInstance().getPlainTextData();
System.out.println(plainTextData);
String lines[] = plainTextData.split("\\r?\\n");
System.out.println(lines.length);
for(int i = 0; i < lines.length; i++)
markupOutput.append((new StringBuilder(String.valueOf(lines))).append("<br>").toString());
}
catch(CacheException e)
{
e.printStackTrace();
}
catch(WebBeanException e)
{
e.printStackTrace();
}
catch(WebObjectsException e)
{
e.printStackTrace();
}
}
private static WebObjectsFactory factory;
private static WebIServerSession serverSession;
}