- 浏览: 287877 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
masuweng:
如何给新人机会 -
masuweng:
多sql结果集按列合并新结果报表实现方案 -
Ahe:
赞
坚持长跑方能赢 -
masuweng:
好好好
程序员如何更好的了解自己所做的事情 -
小楠人:
laoguan123 写道楼主好,使用过一些excel导入导出 ...
excell导入导出
部分代码:
源码参考:
https://github.com/jamst/tool-node/blob/master/excell_to_email
module FileHandle extend ActiveSupport::Concern #Roo::Spreadsheet 直接读取文件导入 module ClassMethods def import_data(file,current_user) imports = { failed: []} messages = {color:"#ff0000"} unless file.blank? orig_name = file.original_filename if ".XLSX" == File.extname(orig_name).upcase require 'roo' @students = [] path = file.tempfile.path workbook = Roo::Spreadsheet.open path worksheet = workbook.sheet(0) row_no = 1 worksheet.each_row_streaming(offset: 1, pad_cells: true) do |row| row_no += 1 next if row[0].blank? record = {excel_row: row_no, success: true} self::IMPORT_COLUMNS.each do |c,i| record[c] = row[i]&.value end return_student, message = self.save_from_hash(record, current_user) @students << return_student if return_student.blank? record[:success] = false record[:message] = message imports[:failed] << record end end if imports == { failed: [] } messages[:color] = "#00DD00" messages[:detail] = "导入成功" end else messages[:detail] = "文件格式要求为.xlsx格式。" end else messages[:detail] = "请上传文件" end [imports,messages] end # 使用固定模版文件导出 def export_data file = Spreadsheet.open "#{Rails.root}/public/xls/#{self.table_name}.xls" list = file.worksheet 0 self.all.each_with_index do |r,index| self::EXPORT_COLUMN.each do |k,v| k = k.to_s list[index+1,v] = k.include?('|') ? r.send(k.split('|').first)&.send(k.split('|').last) : r.send(k) end end xls_report = StringIO.new file.write xls_report return xls_report.string end end end
源码参考:
https://github.com/jamst/tool-node/blob/master/excell_to_email
评论
2 楼
小楠人
2017-06-09
laoguan123 写道
楼主好,使用过一些excel导入导出的工具类,但是发现占据内存和cpu特别大的资源,可否指教一下怎么选择一个好的,节省资源的方法?
1 楼
laoguan123
2017-06-08
楼主好,使用过一些excel导入导出的工具类,但是发现占据内存和cpu特别大的资源,可否指教一下怎么选择一个好的,节省资源的方法?
发表评论
-
git仓库创建
2020-09-04 15:33 647推送现有文件夹 cd existing_folder git ... -
puma高并发
2020-08-19 09:31 437nginx突发大量502报错 top看一下,cpu的占用并不高 ... -
searchkick
2019-04-10 11:30 0# 通用查询块(条件) def general_ ... -
导入线下excell业务数据按权重匹配线上数据
2019-03-07 11:00 831业务场景:(系统间还没有接口对调,订单号暂时需要线下处理) 线 ... -
两对象同时映射一对一和一对多
2019-02-20 10:14 752class Kpi::Team < Applicat ... -
ruby一些类加载方式
2018-12-21 10:12 531require_dependency 'order/sco ... -
基于ruby的gem remotipart的异步上传文件
2018-12-21 10:11 497针对某一对象保存实例化之前,异步上传图片保存。 gem ' ... -
基于html2canvas的长图分享
2018-12-21 10:11 1116<span class="ui label ... -
rails处理上传读取excell&生成excell
2018-12-20 14:15 870gem 'spreadsheet' gem 'roo', ... -
基于ruby Mechanize的爬虫
2018-12-20 13:09 599def self.sang_carwler ... -
一些常用加密方式
2018-12-20 13:02 693sign = OpenSSL::Digest::SHA256. ... -
ruby 调用restful接口示例
2018-12-20 12:02 883链接参数中添加token def self.query_p ... -
rails错误日志记录
2018-12-19 14:41 675Rails中对日志的处理采用的是“消息-订阅”机制,各部分组件 ... -
railsAPI接收Base64文件
2018-12-18 11:05 1000tmp_dir = " ... -
ruby 调用savon接口示例
2018-12-18 10:51 938例子一 module Api module Aob ... -
关于国际商城现货展示与购物车的费用设计
2018-11-15 18:34 399关于国际商城现货展示 ... -
基于多线程的全局变量
2018-10-31 19:50 1067def current_nation def ... -
hash最小值过滤算法
2018-10-31 09:52 1041[["数量","包装" ... -
阿里云裸机部署rails运用
2018-10-08 20:33 1305登录阿里云后首先 sudo apt-get update a ... -
打包订单单据发给货代
2018-09-11 15:43 1146pdf&excell&png # rend ...
相关推荐
Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel...
Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出
thinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel...
Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出...
c#制作的EX29-Excel导入导出功能。
java_poi实现excel导入导出功能,有详细的注解
万能的Excel导入导出工具. 支持从List中导出. 支持从List中导入导出. 支持从List里面还有List<POJO>>中导入导出. 支持导出类似课程表结构类型纵表. 支持国际化. 支持数据字典. 支持单元格中下拉框数据校验. 支持自动...
Excel导入导出数据库Excel批量导入导出数据库源码,以及一些解决乱码收藏的博客知识
Excel源代码,导入导出各种工具类 <groupId>org.apache.poi <artifactId>poi <groupId>org.apache.poi <artifactId>poi-scratchpad 代码实例: String path = ""; byte[] bytes; vo.setCurrentPage(0); vo....
可以将excel中的内容导入到mssql数据库中,也可以将MSSQL中的数据导出到Excel中.在导入时还可选择字段进行导入,并且原程序全部公开
Excel导入导出Excel导入导出Excel导入导出
excel 导入导出插件,和导出数据库实例
C# 操作 Excel 导入导出,很方便的.
超级列表框导入excel和导出excel(支持导入导出表头)用黑夜上传的LibXL模块弄的,。@田心南。Tags:ExcelEXCEL导入导出excel表。
Excel导入导出 jxl及Poi 工具类:jxl 实现 及 Poi实现 非常实用
Excel导入导出 Excel导入 Excel导出
Java实现Excel导入导出简介 Java实现Excel导入导出是通过Java语言编写的程序,将数据从Excel文件中读取或写入到Excel文件中。这种方式可以实现数据的批量处理和分析,提高工作效率。 Java实现Excel导入导出的应用...
Java实现Excel导入导出功能网络搜集,很好用
基于poi的excel导入导出封装,poi版本 <groupId>org.apache.poi <artifactId>poi <version>4.1.0 <groupId>org.apache.poi <artifactId>poi-ooxml <version>4.1.0 </dependency>