...
该示例实现为每个学校导入、更新行政单位及其负责人。Excel数据如下:
目标表结构:
其中 学校代码,需要根据用户选择的值导入,唯一id 需要根据 学校代码 和 单位号 组合而成。其中“学校代码”,需要根据用户选择的值导入,“唯一id”需要根据“学校代码”和“单位号”组合而成。
实现步骤
1、参考“插件开发框架”,新建扩展包“DataImporterDemo”;
①需要在extension1)需要在extension.xml中设置depends="DataImporter",或者将本扩展包的加载优先级设置的低一些。
②需要将applicationContext2)需要将applicationContext.xml的内容全部替换为如下代码:
代码块 |
---|
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> <beans> <bean id="framework" class="smartbi.framework.Framework" factory-method="getInstance"> <property name="modules"> <map> <entry><key><value>DAQDemoModule</value></key><ref bean="DAQDemoModule" /></entry> </map> </property> </bean> <bean id="DAQDemoModule" class="smartbi.demo.DAQDemoModule" factory-method="getInstance"> </bean> </beans> |
...
代码块 | ||||
---|---|---|---|---|
| ||||
package smartbi.demo; import smartbi.daq.DataAcquisitionModule; import smartbi.framework.IModule; public class DAQDemoModule implements IModule { private static DAQDemoModule instance = new DAQDemoModule(); /** * @return DataAcquisitionModule * */ public static DAQDemoModule getInstance() { return instance; } @Override public void activate() { DataAcquisitionModule.getInstance().registerExcelCellDataGenerator("学校行政单位id", "学校行政单位id", new XZDWID()); } } |
4、编译打包DataImporterDemo扩展包,然后参考“4、编译打包DataImporterDemo扩展包,然后参考 扩展包部署”文档部署该扩展包。 文档部署该扩展包。
5、在“Excel数据导入”界面添加导入规则。
6、点击“列设置”标签页,设置列映射。其中“唯一id”字段的“绑定输入”选择“使用JAVA类”的方式,并选择上面自定义的“学校行政单位id”。
7、点击右下角“保存”按钮,弹出保存对话框,输入名称“演示绑定自定义java类的导入模板”,保存Excel导入模板。6、点击“列设置”标签页,设置列映射。其中“唯一id”字段的“绑定输入”选择“使用JAVA类”的方式,并选择上面自定义的“学校行政单位id”。
7、点击右下角 保存 按钮,弹出保存对话框,输入名称“演示绑定自定义java类的导入模板”,保存Excel导入模板。
8、双击该模板执行导入,选择本地“表1-3学校相关行政单位.xls”文件。
9、到数据库中查看导入后的结果:
PS: : HelloExt.rar 此附件为示例的源码。 此附件为示例的源码。