报表设计教程之FineReport工具: 如何保存模板

2025-10-27 06:09:35

1、如下可查看,这里是已经将已有的cpt模板保存于oracle数据库中,点击我们的报表数据集,数据库查询|数据库数据集,输入SELECT * FROM REPORT,预览可看到

报表设计教程之FineReport工具: 如何保存模板

2、那么,如何将cpt模板保存入库呢?以下我们详细介绍。

3、编写保存模板程序

public class SaveReportToDatabase {  

    public static void main(String[] args) {  

        SaveReport();  

    }  

    private static void SaveReport() {  

        try {  

            // 连接数据库  

            String driver = "oracle.jdbc.driver.OracleDriver";  

            String url = "jdbc:oracle:thin:@192.168.100.169:1521:orcl10g";  

            String user = "temp";  

            String pass = "temp123";  

            Class.forName(driver);  

            Connection conn = DriverManager.getConnection(url, user, pass);  

            PreparedStatement presmt = conn  

                    .prepareStatement("insert into report values(?,?)");  

            // 读进需要保存入库的模板文件  

            Env oldEnv = FRContext.getCurrentEnv();  

            String envPath = oldEnv.getPath();  

            File cptfile = new File(envPath  

                    + "\\reportlets\\gettingstarted.cpt");  

            int lens = (int) cptfile.length();  

            InputStream ins = new FileInputStream(cptfile);  

            // 将模板保存入库  

            presmt.setString(1, "gettingstarted.cpt"); // 第一个字段存放模板相对路径  

            presmt.setBinaryStream(2, ins, lens); // 第二个字段存放模板文件的二进制流  

            presmt.execute();  

            conn.commit();  

            presmt.close();  

            conn.close();  

        } catch (Exception e) {  

            e.printStackTrace();  

        }  

    }  

}

4、注:最新的代码链接。

注:该程序中使用了JDBC连接数据库,您需要在编写代码前先将对应数据库的驱动包加载进project中。

5、编译运行

运行该程序,重新查看数据库中数据,便可以看到您新增的记录了。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢