Sha256: 8ab7697f1d9e0d0956ee4f4196a53e7d6e18baae6fd1c1feb0f5fccf23e17f94
Contents?: true
Size: 1.42 KB
Versions: 8
Compression:
Stored size: 1.42 KB
Contents
#!/usr/bin/env ruby # -*- coding: utf-8 -*- ####################################################################### # # An example of using the new Excel LAMBDA() function with the # WriteXLSX rubygem. Note, this function is only currently available # if you are subscribed to the Microsoft Office Beta program. # # Copyright 2000-2021, John McNamara, jmcnamara@cpan.org # convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com # require 'write_xlsx' workbook = WriteXLSX.new('lambda.xlsx') worksheet = workbook.add_worksheet worksheet.write( 'A1', 'Note: Lambda functions currently only work with the Beta Channel versions of Excel 365' ) # Write a Lambda function to convert Fahrenheit to Celsius to a cell. # # Note that the lambda function parameters must be prefixed with # "_xlpm.". These prefixes won't show up in Excel. worksheet.write('A2', '=LAMBDA(_xlpm.temp, (5/9) * (_xlpm.temp-32))(32)') # Create the same formula (without an argument) as a defined name and use that # to calculate a value. # # Note that the formula name is prefixed with "_xlfn." (this is normally # converted automatically by write_formula but isn't for defined names) # and note that the lambda function parameters are prefixed with # "_xlpm.". These prefixes won't show up in Excel. workbook.define_name( 'ToCelsius', '=_xlfn.LAMBDA(_xlpm.temp, (5/9) * (_xlpm.temp-32))' ) worksheet.write_dynamic_array_formula('A3', '=ToCelsius(212)') workbook.close
Version data entries
8 entries across 8 versions & 1 rubygems