润乾报表提供了excel导入页面后入库的功能,丰富了用户导入excel的方式。对于普通填报表,润乾报表提供了直接后台入库和导入页面入库的方式,那么在行式填报表中,如何实现后台导入excel入库呢?

用润乾报表提供的API接口,就可以完成这个功能。

下面是示例代码:

<%@ page contentType=”text/html;charset=GBK” %>
<%@ page import=”com.runqian.report4.usermodel.*”%>
<%@ page import=”com.runqian.base4.util.*”%>
<%@ page import=”com.runqian.report4.model.*”%>
<%@ page import=”com.runqian.report4.util.*”%>
<%@ page import=”com.runqian.report4.cache.CacheManager”%>
<%@ page import=”java.io.*”%>

<%@ page import=”com.runqian.report4.dataset.DataSet”%>
<%@ page import=”com.runqian.report4.dataset.SQLDataSetFactory”%>
<%@ page import=”com.runqian.report4.view.olap.OlapUtils”%>
<%@ page import=”com.runqian.report4.view.excel.ExcelReport”%>
<%@ page import=”java.sql.Connection”%>
<%@ page import=”java.sql.Driver”%>
<%@ page import=”java.sql.DriverManager”%>
<%@page import=”com.runqian.report4.ide.ExcelImporter”%>
<%@page import=”com.runqian.report4.usermodel.input.InputProperty”%>
<%@page import=”com.runqian.report4.input.DataSaver”%>
<%@page import=”com.runqian.report4.model.engine.ExtCellSet”%>
<%@page import=”com.runqian.report4.model.engine2.RowReport”%>
<%@page import=”com.runqian.report4.input.RowReportSaver”%>
<%@page import=”java.text.SimpleDateFormat”%>
<%@page import=”com.runqian.base4.resources.FormatUtils”%>
<%@page import=”java.util.Locale”%>

<%
//设置报表路径
String reportFile = “D:\\testupdate.raq”;
Context cxt = new Context();
ReportDefine rd = null;
try {
//读取报表模版定义
rd = (ReportDefine) ReportUtils.read(reportFile);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(”报表读取完毕===================================”);
//计算报表
Engine engine = new Engine(rd, cxt);
IReport iReport = engine.calc();
//将计算完的报表转换成行式报表对象
RowReport rr = (RowReport)iReport;
//第几行是主扩展行
String did = rr.getDetailID( 1 );
//定义报表保存的参数
SimpleDateFormat dateF = new SimpleDateFormat( FormatUtils.getDateFormat( Locale.getDefault() ) );
SimpleDateFormat timeF = new SimpleDateFormat( FormatUtils.getTimeFormat( Locale.getDefault() ) );
SimpleDateFormat datetimeF = new SimpleDateFormat( FormatUtils.getDatetimeFormat( Locale.getDefault() ) );
//设置excel路径
String excelFile = “D:\\test1500.xls”;
//生成excel导入对象
ExcelImporter ei = new ExcelImporter(excelFile);
//得到excel中的第一个sheet的对象
IReport excelReport = ei.getReport(0);
//构造数据保存对象
RowReportSaver rowSaver = new RowReportSaver(rr, null, cxt);
//读入excel文件及其数据
//逐行逐列把excel数据写入填报表
for(int i=1;i<=excelReport.getRowCount();i++){
//先插入一行,这里是不定行导入excel数据
Area area = rr.insertDetail( did );
//循环取得excel单元格
for(int j=1;j<=iReport.getColCount();j++){
INormalCell iExcelCell=excelReport.getCell(i, (short)j);

if( iExcelCell == null ) continue;
String svalue = “”;
//得到单元格的值
Object value = iExcelCell.getValue();
if( value != null )
svalue = value.toString();
//把填报值保存到数据保存对象中
rowSaver.setCellInputValue( area.getBeginRow(), (short)j, svalue, dateF, timeF, datetimeF );

}

}
//执行保存
rowSaver.save();
out.print(”数据保存成功”);

%>

通过这样的方式,我们就可以利用API来对行式填报表进行后台数据直接入库的功能了。

如何利用API实现行式报表后台导入excel数据入库相关推荐

  1. 帆软报表填报导入excel数据出现错误

    今天在做普通的填报报表的时候发现填报导入的数据有问题,所以将出现的问题做个总结: 1.填报报表与excle里面字段是否一致, 如果字段名称不一致的话会出现对应的字段的数据导入,但是字段不对应的数据导不 ...

  2. 行式填报表导入excel数据直接入库

     由于行式填报在导入excel的数据量比较大的时候,页面加载数据会很慢,在这种情况下可以采取后台直接导入数据库的方法,实例如下: package example; import java.sql. ...

  3. 用Python读取考勤机卡式报表并处理成常规的行式报表格式

    1. 场景: 在做公司的临时工考勤工资表时,考勤机导出的excel为卡式报表,看很直观,但处理起来麻烦.所以做了一个odoo模块用于将卡式报表处理成更常规的适合财务统计的普通报表.语言Python,用 ...

  4. vhm在服务器上创建虚拟机,一步步实现ABAP后台导入EXCEL到数据库【1】

    在SAP的应用当中,导入.导出EXCEL文件的情况是一个常见的需求,有时候用户需要将大量数据定期导入到SAP的数据库中.这种情况下,使用导入程序在前台导入可能要花费不少的时间,如果能安排导入程序为后台 ...

  5. php导入excel源码,利用PHPExcel类库,实现PHP导出导入Excel表格Excel文件!

    [温馨提示]源码包解压密码:www.youhutong.com 利用PHPExcel类库,实现PHP导出导入Excel文件!(案例教程源码) 需要注意的地方就是: 1.导出文件时,如果你的字段过多,可 ...

  6. 关于使用Java后台导入excel文件,读取数据后,更新数据库,并返回数据给到前端的相关问题总结

    在之前的项目中,使用到了Java后台读取excel文件数据的功能点,本想着该功能点已经做过了,这一类的应该都大差不离,不过在刚结束的一个项目中,现实给我深深的上了一课,特此编写此片博客,以作记录,并给 ...

  7. 利用Navicat导入Excel数据到数据库

    一.工具准备 Navicat数据库管理工具. execl表格和数据,execl表格中的数据格式为:第一行表头为数据库字段,其余为数据 二.数据导入 1.打开Navicat工具,并找到要导入的目标数据库 ...

  8. 【MATLAB】导入excel数据并用命令行窗口绘图

    1. 导入数据 2. 选择数值矩阵,并导入 3. 导入的数据出现在工作区 4. 命令行窗口输入下列指令 定义x轴.y轴数值,并画图 >> x=lrxandy(:,1); >> ...

  9. c#后台如何导出excel到本地_小程序导出数据到excel表,借助云开发后台实现excel数据的保存...

    我们在做小程序开发的过程中,可能会有这样的需求,就是把我们云数据库里的数据批量导出到excel表里.如果直接在小程序里写是实现不了的,所以我们要借助小程序的云开发功能了.这里需要用到云函数,云存储和云 ...

最新文章

  1. Oracle RMAN 还原与恢复(一)--还原服务器参数文件
  2. 并查集+二分-hdu-4750-Count The Pairs
  3. 如何读取jar包外的properties文件和log4j.properties
  4. SAP Spartacus org unit table的DOM structure
  5. react.lazy 路由懒加载_Vue面试题: 如何实现路由懒加载?
  6. 重庆高职高专计算机排名,重庆十大大专排名(含分数线2021年参考)-重庆最好的全日制专科学校...
  7. Jquery简单的右侧浮动菜单
  8. 做柱状图加数据标签_Origin绘图:如何优雅的绘制堆叠柱状图
  9. DAY04 WINDOWS 文件的共享以及FTP服务器的搭建
  10. 基于深度学习和支持向量机的4种苜蓿叶部病害图像识别
  11. 详细版【卷积神经网络CNN】基础模型(邱锡鹏)
  12. 全概率公式和贝叶斯公式的定义与说明
  13. 蜻蜓安全编写插件模块 webcrack 实践
  14. 无线信道仿真 matlab,基于Matlab的无线信道仿真.doc
  15. 计算机无线网怎么安装教程,安装无线网必看 给家庭安装无线宽带WIFI的详细步骤(图)...
  16. Confluence 查看文档乱码问题
  17. 常用crc查表法_查表法计算CRC
  18. 微信小程序下载视频到相册(带进度条)
  19. pyltp依存句法分析_NLP(十二)依存句法分析的可视化及图分析
  20. visio的替代工具 - draw.io

热门文章

  1. saoml流控开心版补丁
  2. SpringBoot实现每天给对象发送情话
  3. SQLServer ODBC 驱动的区别
  4. 罗浩明(襄城县)讲 M3330e九针联机及刷机文件介绍
  5. matlab中 spm,使用SPM批处理在MATLAB中运行预处理
  6. java 中showinfo方法,jmockito模拟方法中参数如何指定
  7. iOS App Extension 介绍
  8. matlab dmc控制代码,【原创】Matlab实现DMC控制加热炉程序
  9. 红米手机4android os是木马怎么清除,红米Note4卡刷教程_红米Note4用recovery刷第三方系统包...
  10. 【NLP】kaggle临床患者病历评分比赛baseline