Accessing Crystal Reports from Java |
|
This example demonstrates how to access Crystal Reports from Java. J-Integra® for COM is a Java interoperability component that bridges Java and Crystal Reports. It provides bi-directional access of Java objects and COM components.
// Assumes 'com2java' has been run on \WINNT\System32\crystl32.ocx specifying the 'crystal'
// subdirectory as the output directory, and 'crystal' as the package name.
public class CrystalClient {
private static final String CONNECT_STRING = "DSN=YourDsn";
private static final String REPORT_FILE_NAME = "c:\\temp\\YourReportFileName.rpt";
private static final String SQL_QUERY = "select * from YourTable";
private static final String PRINT_FILE = "c:\\temp\\YourNewReport.doc";
public static void main(String args[]) throws Exception {
try {
crystal.CrystalReport report = new crystal.CrystalReport();
report.aboutBox(); // Lets see if it was loaded properly
report.setConnect(CONNECT_STRING);
report.setReportFileName(REPORT_FILE_NAME);
report.setSQLQuery(SQL_QUERY);
report.setPrinterCopies((short) 1);
report.setPrinterCollation(crystal.PrinterCollationConstants.crptDefault);
report.setDestination(crystal.DestinationConstants.crptToFile);
report.setPrintFileName(PRINT_FILE);
report.setPrintFileType(crystal.PrintFileTypeConstants.crptWinWord); // Change output type if necessary
report.printReport();
} finally {
com.linar.jintegra.Cleaner.releaseAll();
}
}
} |