Tag: ruby on rails

如何在ruby / rails中编辑.xslm文件而不丢失VBAmacros?

我在我的项目中有一些.xslm文件,我必须编辑。 我的应用程序是用Rails编写的。 我知道macros启用的文件不能用rubyXL或roo gem编辑,不知何故,我必须使用Ruby / Rails的gem或任何可以合并到Rails应用程序中的工具来编辑它们。 该应用程序托pipe在AWS上,是否有任何工具可以做同样的事情? 另外要求是保留macros。

rails send_data在使用POST发送Excel文件时不发送任何东西

当我在控制器方法的末尾调用send_data来导出Excel文件(使用Axlsx)时,如果使用POST调用控制器方法,则什么都不会发生。 如果使用GET调用相同的控制器方法,则send_data可以很好地工作。 在这两种情况下,Excel文件略有不同(POST发送的数据决定了数据在Excel中的显示方式),但是我已经validation了使用POST时excel_file设置正确。 使用邮递员从外部调用POST端点时,会下载正确的Excel文件。 但是,点击发出POST请求的浏览器中的链接时, send_data似乎什么也不做。 控制器方法有两行代码: excel_file = excel_util.export(params[:myPostParams] send_data(excel_file.to_stream.read, type: "application/xlsx", filename: "MyExcelWorksheet.xlsx") 有关我的POST调用的更多信息: 我使用JQuery($ .post方法)从视图中的元素调用POST。 就像我上面提到的,这似乎工作得很好,因为POST调用通过传递正确的信息在正文中,因为excel_file构build正确。 在Chrome的开发者工具中检查networking,使用POST创build一个“导出”操作和一个“结果”操作。 export是处理POST和GET的控制器方法的名称。 这里是信息(只包括相关信息,主机/来历/引用链接都很好)。 '导出'信息: Request URL: http://localhost:3000/<myappname>/export Request Method: POST Response Headers: Content-Disposition:attachment; filename="MyExcelWorksheet.xlsx" Content-Length:7648 Content-Transfer-Encoding:binary Content-Type:application/xlsx X-Content-Type-Options:nosniff X-Frame-Options:SAMEORIGIN X-Miniprofiler-Ids:["i6c3…"] Request Headers: Accept:*/* Accept-Encoding:gzip, deflate, br Accept-Language:en-US,en;q=0.8 Connection:keep-alive Content-Length:1803 Content-Type:application/x-www-form-urlencoded; charset=UTF-8 X-Requested-With:XMLHttpRequest Form Data: <the data […]

将Ruby on Rails HTML表导出为.xls文件

我有下面的表格: <tr> <th colspan = "18"> student info</th> <th colspan="10">class info</th> </tr> <tr> <th colspan="1">First Name</th> <th colspan="1">Middle Name</th> <th colspan="1">Last Name</th> …. </tr> <tr> <td colspan="1"><%= link_to student.first_name,:controller => 'acme_modificationss' , :action=>'profile', :id => student.id %></td> <td colspan="1"><%= student.middle_name %></td> <td colspan="1"><%= student.last_name %></td> <td colspan="1"><%= student.first_name %></td> <td colspan="1"><%=m_first_name%></td> ….. 我需要将相同的表导出到.xls文件。 所以我给控制器添加了一个新的动作: def […]

未定义的方法send_data

在电子表格中创build多个选项卡时,我得到了未定义的方法send_data 。 我无法理解使用send_Data方法发送的数据。 这是我的错误: NoMethodError (undefined method `send_data' for #<Class:0x007f911933cc58>): book = Spreadsheet::Workbook.new sheet1 = book.create_worksheet :name => 'Sheet1' sheet2 = book.create_worksheet :name => 'Sheet2' sheet1.row(0).push "some content in Column1" spreadsheet = StringIO.new book.write spreadsheet file = "#{Rails.root}/public/brand_store/Excelsheet" send_data spreadsheet.string, :filename => "#{file}", :type => "application/vnd.ms-excel"

Ruby on Rails:validationCSV文件

关于导入CSV( http://railscasts.com/episodes/396-importing-csv-and-excel )的RailsCast,我试图validation上传的文件是一个CSV文件。 我已经使用了gem csv_validator来做到这一点,正如这里所logging的那样https://github.com/mattfordham/csv_validator 所以我的模型看起来像这样: class Contact < ActiveRecord::Base belongs_to :user attr_accessor :my_csv_file validates :my_csv_file, :csv => true def self.to_csv(options = {}) CSV.generate(options) do |csv| csv << column_names all.each do |contact| csv << contact.attributes.values_at(*column_names) end end end def self.import(file, user) allowed_attributes = ["firstname","surname","email","user_id","created_at","updated_at", "title"] CSV.foreach(file.path, headers: true) do |row| contact = find_by_email_and_user_id(row["email"], user) || […]

在rails上访问ruby中的数据时出错

该错误告诉我方法“[]”没有在第127行中定义 这是我的代码,并没有看到错误 def verificar_area archivo bandera= false Spreadsheet.client_encoding = 'UTF-8' book = Spreadsheet.open archivo @wk = book.worksheet 0 areas = ["Secundaria", "Preparatoria", "Universitario", "Edad 11 a 15 años", "Edad de 16 a 19 años", "Solo estudian", "Adolescentes que trabajan y estudian"] (1 .. @wk.row_count).each do |index_renglon| @renglon_excel = @wk.rows[index_renglon] area=@renglon_excel[8] #This is the line 127 […]

Rails Spreadsheet Gem来自HTTPS

我正在使用Rails Roo Gem。 我希望能够从httpsurl获取.xls文件。 我怎样才能做到这一点。 如有必要,我可以轻松地切换到另一个gem,如电子表格

rubyroogemexcel导入错误

我觉得有一件很简单的事情,我不认为这是错的。 下面是我上传文件的jQuery代码: import: function (e) { e.preventDefault(); var formData = new FormData(); jQuery.each($('#import_excel_file')[0].files, function(i, file) { formData.append('import_file', file, 'xls'); }); formData.append('fuel_type_id', $('#import_fuel_type').val()); this.shipOff(formData); }, shipOff: function (formData) { $.ajax({ type: 'POST', url: App.Options.rootUrl + "/stations/stations/excel_import", data: formData, cache: false, contentType: false, processData: false, success: function (data) { console.log('successful upload', data); } }); } 然后在控制器中,我调用import = […]

Ruby的Axlsxgem分组汇总行顶部图标(+/-图标应该是顶部)

目前我在我的一个项目中使用axlsxgem进行分组function,我可以使用分组function,但是我正在努力的一个地方是轮廓汇总行, – / +图标应该位于顶部而不是底部

使用Roo和Ruby(Rails)来parsingExcel

我试图让用户上传一个CSV / Excel文档,并使用Roo(我见过的最常见的一个)parsing它,但我有一些问题搞清楚了。 当前脚本 require 'roo' xlsx = Roo::Excelx.new("./TestAppXL.xlsx") xlsx.each_row_streaming do |row| puts row.inspect # Array of Excelx::Cell objects end 这是我能够得到的唯一工作 – 它返回看起来是JSONB的东西。 我想要做的是几个过程: A)用户上传一张“卡片”列表到我的网站(尽量允许尽可能多的选项,CSV,Excel等) B)它立即返回标题列表并询问“哪个标题是名称,数量等等?” C)我parsing数据的具体标题,做'X'。 B是我主要需要帮助的。 我正努力弄清Roo。 我将无法控制标题,所以我不能使用数字列号。 (添加Rails标签,因为这将最终在一个控制器中,也许是一个更简单的方法来做到这一点)。 更新的脚本 我其实已经取得了很多进展。 仍然试图接近我原来的要求。 require 'roo' require 'roo-xls' xlsx = Roo::Spreadsheet.open('Demo.xls') headers = xlsx.first_row puts xlsx.row(headers) puts "Which number header is the Card Name?" CardName […]