Module: SqlToXls::SqlToXlsIo

Included in:
SqlToXls, SqlToXlsTemple
Defined in:
lib/sql_to_xls/sql_to_xls_io.rb

Instance Method Summary collapse

Instance Method Details

#execute_sql(sql) ⇒ Object



11
12
13
14
# File 'lib/sql_to_xls/sql_to_xls_io.rb', line 11

def execute_sql(sql)
  #执行报表sql查询
  cullent_attributes = ActiveRecord::Base.connection.execute(sql)
end

#init_sql(columns, sql, search_date = Time.now) ⇒ Object



4
5
6
7
8
9
# File 'lib/sql_to_xls/sql_to_xls_io.rb', line 4

def init_sql(columns,sql,search_date = Time.now)
    # 解析SQL
    reports = execute_sql(sql)
    # 生成EXCELL
    to_xlsx(columns,reports,search_date)
end

#to_xlsx(columns, reports, search_date) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/sql_to_xls/sql_to_xls_io.rb', line 16

def to_xlsx(columns,reports,search_date)
  # 生成EXCELL
    file = Spreadsheet::Workbook.new

    list = file.create_worksheet :name => search_date.to_s(:db)
    list.row(0).concat columns
 
    reports.each_with_index { |report, i|
         list.row(i+1).concat report
    }

    xls_report = StringIO.new 
    file.write xls_report  
       xls_report.string 
end