将查询写入工作表时,以文本forms存储的编号
我正在使用以下gem创build一个报告:
require "mysql2" require "watir" require "io/console" require "writeexcel"
在用mysql2
查询数据库之后,将查询转换为multidimensional array,如下所示:
Mysql2::Client.default_query_options.merge!(:as => :array) mysql = Mysql2::Client.new(:host => "01.02.03.405", :username => "user", :password => "pass123", :database => "db") report = mysql.query("SELECT ... ASC;") arr = [] report.each {|row| arr << row}
然后最终将数据写入Excel电子表格中,如下所示:
workbook = WriteExcel.new("File.xls") worksheet = workbook.add_worksheet(sheetname = "Report") header = ["Column A Title", ... , "Column N Title"] worksheet.write_row("A1", header) worksheet.write_col("A2", arr) workbook.close
当我在OSX(Office 365)的最新版本的Excel中打开文件时,我得到每个包含大多数数字的单元格的以下错误:
这份报告的目标受众可能会因为这样的错误而分心。
我在这里尝试了.set_num_format
文档中find的所有.set_num_format
枚举方法。
如何创build一个包含特殊字符和数字(如货币)的列的报告,并write excel?
我应该看看完全利用另一个创业板?
在创build工作表之后定义格式。
format01 = workbook.add_format format01.set_num_format('#,##0.00')
然后写入格式的列。
worksheet.write_col("A2", arr, format01)
由于我不是Ruby用户,这只是一个SWAG