- 浏览: 302841 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
masuweng:
如何给新人机会 -
masuweng:
多sql结果集按列合并新结果报表实现方案 -
Ahe:
赞
坚持长跑方能赢 -
masuweng:
好好好
程序员如何更好的了解自己所做的事情 -
小楠人:
laoguan123 写道楼主好,使用过一些excel导入导出 ...
excell导入导出
业务场景:(系统间还没有接口对调,订单号暂时需要线下处理)
线上订单需要线下第三方票据核对之后才能抽取明细对账开票。
根据第三方提供的票据匹配上双方系统的订单号。
全部指标命中的,默认为相等,部分指标命中的为待筛查数据
线上订单需要线下第三方票据核对之后才能抽取明细对账开票。
根据第三方提供的票据匹配上双方系统的订单号。
class Report::Importcsv # 上传csv文件load数据到数据库临时表 def self.import_csv(file_root,table_name='mapping_datas') # xlsx 保存为csv # 上传到路径:/var/lib/mysql-files/ new_table_name = "cope_#{table_name}_#{Time.now.to_i}" create_table_sql = cope_table_sql(new_table_name,table_name) # 创建表数据 ActiveRecord::Base.connection.execute(create_table_sql) # load 写入csv数据 @sql = %Q(LOAD DATA INFILE '#{file_root}' INTO TABLE #{table_name} FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES;) ActiveRecord::Base.connection.execute(@sql) end def self.cope_table_sql(new_table_name,table_name) "create table #{new_table_name} select * from #{table_name} where 1=2;" end ################################################ ## 比对mapping ################################################ require 'matrix' def self.mapping_data_test # 等待匹配的数据库订单数据 sql = "select * from mapping_datas" base_a = ActiveRecord::Base.connection.execute(sql) compale_a = base_a.map{|_| _[1..-1].map{|a| b = (a ? a.to_f : 'null') ; b } } aaa = Matrix.columns(compale_a).to_a # 假设excell导入的临时表数据 excell_sql = "select * from cope_mapping_datas_11232131" base_b = ActiveRecord::Base.connection.execute(excell_sql) compale_b = base_b.map{|_| _[1..-1].map{|a| b = (a ? a.to_f : 'null') ; b } } bbb = Matrix.columns(compale_b).to_a # 完全一致的 #ccc = compale_a & compale_b ddd = [] compale_a.each_with_index do |a,i| eee = [] aaa.each_with_index do |_,j| bbb[j].each_with_index do |b,k| if a[j] == b eee << k end end end re = eee.flatten # 获取最大匹配指标的值 h = Hash.new(0) re.each { | v | h.store(v, h[v]+1) } v = h.values.max ind = h.values.index(v) ddd << [{index:i, mapping:h.keys[ind.to_i], size:v}] end return ddd end end
:index => 原数据库id, :mapping => excell入库id, :size => 匹配指标(users.mobile, od.art_no, od.cas, od.package_count)命中个数 [ [{:index=>70, :mapping=>69, :size=>4}], [{:index=>71, :mapping=>70, :size=>4}], [{:index=>72, :mapping=>71, :size=>4}], [{:index=>73, :mapping=>72, :size=>4}], [{:index=>74, :mapping=>73, :size=>4}], [{:index=>75, :mapping=>74, :size=>4}], [{:index=>76, :mapping=>75, :size=>4}], [{:index=>77, :mapping=>76, :size=>4}], [{:index=>78, :mapping=>0, :size=>2}], [{:index=>79, :mapping=>69, :size=>3}], [{:index=>80, :mapping=>0, :size=>2}], [{:index=>81, :mapping=>24, :size=>2}], [{:index=>82, :mapping=>69, :size=>3}], [{:index=>83, :mapping=>75, :size=>2}], [{:index=>84, :mapping=>75, :size=>2}], [{:index=>85, :mapping=>68, :size=>2}], [{:index=>86, :mapping=>0, :size=>2}], [{:index=>87, :mapping=>42, :size=>3}] ]
全部指标命中的,默认为相等,部分指标命中的为待筛查数据
发表评论
-
git仓库创建
2020-09-04 15:33 713推送现有文件夹 cd existing_folder git ... -
puma高并发
2020-08-19 09:31 478nginx突发大量502报错 top看一下,cpu的占用并不高 ... -
searchkick
2019-04-10 11:30 0# 通用查询块(条件) def general_ ... -
两对象同时映射一对一和一对多
2019-02-20 10:14 859class Kpi::Team < Applicat ... -
ruby一些类加载方式
2018-12-21 10:12 568require_dependency 'order/sco ... -
基于ruby的gem remotipart的异步上传文件
2018-12-21 10:11 537针对某一对象保存实例化之前,异步上传图片保存。 gem ' ... -
基于html2canvas的长图分享
2018-12-21 10:11 1162<span class="ui label ... -
rails处理上传读取excell&生成excell
2018-12-20 14:15 996gem 'spreadsheet' gem 'roo', ... -
基于ruby Mechanize的爬虫
2018-12-20 13:09 690def self.sang_carwler ... -
一些常用加密方式
2018-12-20 13:02 732sign = OpenSSL::Digest::SHA256. ... -
ruby 调用restful接口示例
2018-12-20 12:02 931链接参数中添加token def self.query_p ... -
rails错误日志记录
2018-12-19 14:41 779Rails中对日志的处理采用的是“消息-订阅”机制,各部分组件 ... -
railsAPI接收Base64文件
2018-12-18 11:05 1044tmp_dir = " ... -
ruby 调用savon接口示例
2018-12-18 10:51 1037例子一 module Api module Aob ... -
关于国际商城现货展示与购物车的费用设计
2018-11-15 18:34 448关于国际商城现货展示 ... -
基于多线程的全局变量
2018-10-31 19:50 1181def current_nation def ... -
hash最小值过滤算法
2018-10-31 09:52 1092[["数量","包装" ... -
阿里云裸机部署rails运用
2018-10-08 20:33 1403登录阿里云后首先 sudo apt-get update a ... -
打包订单单据发给货代
2018-09-11 15:43 1181pdf&excell&png # rend ... -
基于mini_magick多图片合并/添加水印
2018-07-02 17:44 1716class ImageService requi ...
相关推荐
标题中的“导入Excel数据的插件”指的是一个专门用于帮助用户将Excel电子表格数据导入到其他应用程序或系统中的工具。这种插件通常扩展了软件的功能,使得数据处理更加便捷,尤其适用于需要频繁处理大量结构化数据的...
在Delphi编程环境中,从Excel导入数据是一项常见的需求,尤其在数据分析、报表处理或数据库集成等场景下。本文将详细探讨如何实现这个功能,并提供一个通用的方法。 首先,要完成这个任务,我们需要一个能与Excel...
在C#编程环境中,开发Windows Forms应用程序时,我们经常需要处理用户从Excel文件中导入数据的需求。本教程将详细介绍如何实现“从Excel中导入数据并显示在TextBox控件中”的功能,主要涉及以下知识点: 1. **文件...
在导入数据前,Jeecg会进行数据验证,检查数据的合法性,如非空校验、数据类型校验、唯一性校验等,确保导入的数据符合业务规则。 5. **异常处理**: 在导入过程中,如果遇到错误,Jeecg会捕获异常,并生成详细的...
西门子WINCC与EXCELL的数据处理策略主要涉及如何在两个系统之间进行数据交互和处理。WINCC(SIMATIC HMI WinCC)是西门子的一款人机界面(HMI)软件,主要用于监控自动化系统的数据,而EXCELL则是微软的电子表格应用...
这个“C#Excell导入源代码”提供了一个很好的实例,可以帮助开发者了解并掌握这一技术。 首先,我们需要知道的是.NET Framework或.NET Core提供了对Office组件的支持,其中Microsoft.Office.Interop.Excel库(通常...
Excell教程数据分析实用技巧PPT课件.pptx
标题中的"Excell导入Mongo工具类.rar"表明这是一个与Java编程相关的项目,它提供了一个工具类用于将Excel数据导入MongoDB数据库。MongoDB是一个流行的NoSQL数据库,它以JSON格式的文档存储数据,而非传统的表格结构...
此外,用户还可以通过勾选“每组数据分页”的选项,以便于生成报表时按页显示分类汇总结果。 **合并计算技巧**在需要将不同区域或表格的数据整合到一起进行汇总分析时显得尤为重要。例如,多个部门的销售数据可以...
在开发过程中,有时我们需要在VC++环境中实现与Excel的数据交互,即导入和导出数据。本篇文章将详细探讨如何在VC++中实现Excel的导入与导出功能。 首先,要实现这个功能,你需要了解Microsoft Office的自动化接口,...
标题"从DATAGRID中导出数据到EXCELL国外代码"表明我们要讨论的是如何将`DATAGRID`中的数据转换并保存到`EXCEL`文件中。这个过程在许多业务场景下都是必要的,比如报表生成、数据分析和数据备份。下面我们将深入探讨...
在本文中,我们将深入探讨如何使用Visual Studio 2015 (VS2015) 配合QT5库来操作Excel表格,实现数据的导入导出,以及增删功能。同时,我们还会关注如何利用QSS(Qt样式表)进行用户界面的美化。 首先,QT5是一个跨...
将Excel数据相对应的导入数据库指定数据表内、或者新建表中,省去繁琐的SQL语句操作! 也可在线下载备份数据库数据
在C#编程环境中,Microsoft Office Interop 库为我们提供了一个接口来操作Excel文件,这使得开发者能够方便地读取、写入...在实际开发中,可以根据需求进行更复杂的功能定制,例如数据导入导出、图表生成、宏执行等。
在IT行业中,数据处理是一项至关重要的任务,尤其是在大数据时代,数据的导入导出能力成为了衡量一个系统灵活性的重要标准。PHP是一种广泛使用的服务器端脚本语言,尤其在Web开发领域,它有着丰富的库和工具来处理...
在MATLAB Simulink环境中,将示波器数据导出到Excel表格是一项常见的需求,这有助于数据的存储、分析和进一步处理。以下是一份详细的步骤教程: 首先,我们需要准备一个Simulink模型,在模型中添加必要的组件。核心...
在探讨“VBA由图表获取数据源”这一主题时,我们深入分析VBA(Visual Basic for Applications)在Microsoft Office应用程序中的强大功能,特别是在Excel中如何利用VBA代码从图表中提取数据源信息。这一能力对于自动...
C#中DataGridView和Excel数据的相互导入方法 C#中DataGridView控件和Excel表格是两个常用的数据存储和展示工具。它们之间的数据交换是非常重要的。本文将介绍C#中DataGridView和Excel数据的相互导入方法。 ...
在电子工程和嵌入式系统开发中,常常需要与计算机进行数据交互,其中串行通信是一种常见的接口方式。本文将详细讲解如何使用EXCEL来记录串口数据,并结合单片机AVR通过UART(通用异步收发传输器)发送的数据进行实际...
在Excel表格中添加数据标签是一项重要的数据可视化技巧,它能够帮助读者快速地了解图表中的具体数值,无需依赖坐标轴上的刻度。以下是如何在Excel中为图表添加数据标签的详细步骤,以及一些相关的最佳实践。 首先,...