More Related Content
PDF
RubyではじめるIoT(Wakayama.rb活動報告) PDF
PDF
20130615 組込みの仕事場でRubyを使う PDF
PDF
メモリアロケーションからみた拡張ライブラリに大切なこと PDF
PDF
okrk01_ kitanokunikara-konnnichinu PDF
What's hot
PDF
ET2016 小さなRubyボード GR-CITRUSの紹介 PPTX
PDF
PDF
KEY
PDF
PDF
Nendo At Kansai Ruby Kaigi03 PDF
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会 PDF
PDF
Happy Life Hacking Ruby on Rails PDF
Building Static Website With Github And Jekyll PDF
PDF
PPTX
ランダムにおちるfeature_system spec対策rspec-retry_ex の 紹介 PPTX
なぜか技術書典5で 3サークルの運営を同時にやった話 PDF
[RubyMotion LT] nitronに見るiosアプリ開発の未来 PDF
PDF
PDF
PPTX
Similar to Thin reports再び
PPT
PDF
KEY
OSS Reporting Solution ThinReports PDF
PDF
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力 PDF
PDF
PDF
Thin reports再び
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
ファイルアップロード画面とコード
%html!
%body!
%h1 PDi CardGenerate!
%form(method="post"
enctype='multipart/form-data') !
%input(type='file' name='myfile') !
%br!
%input(type='submit' value='Upload!')
#!/usr/bin/ruby!
# encoding:utf-8!
require 'spreadsheet'!
require 'sequel'!
require 'thinreports'!
require 'pp'!
!
class ItemTB!
DB = Sequel.sqlite!
DB.create_table :items do!
primary_key :id!
String :item_no!
String :item_name!
String :code_of_customer!
String :line_code_of_production!
end!
DataSet = DB[:items] # Create a dataset!
!
book = Spreadsheet.open("品目マスター.xls")!
sheet = book.worksheet(0)!
- 10.
ThinReportエディターとコード
report = ThinReports::Report.createdo |r|!
r.use_layout 'inspections.tlf', :default => true!
r.start_new_page #:layout => 'inspections.tlf'!
until (label_data.empty?) do!
read_as_col(label_data, 2) do |data_row_array|!
r.page.list(:list).add_row do |row|!
# Set details!
data_row_array.each_with_index do |col_array, _index|!
row.item(Symbol_table[_index][0]).value(col_array[:item_no
row.item(Symbol_table[_index][1]).value(col_array[:date_del
row.item(Symbol_table[_index][2]).value(col_array[:time_de
row.item(Symbol_table[_index][3]).value(col_array[:quantity
row.item(Symbol_table[_index][4]).value(col_array[:quantity
row.item(Symbol_table[_index][5]).value(col_array[:inspectio
row.item(Symbol_table[_index][6]).value(col_array[:line_cod
row.item(Symbol_table[_index][7]).value(col_array[:line_nam
row.item(Symbol_table[_index][8]).value(col_array[:code_of_
row.item(Symbol_table[_index][9]).value(col_array[:order_no
end!
end!
end!
end!
!
r.use_layout 'inspections_list.tlf', :id => :list_all!
r.start_new_page :layout => :list_all!
orders.DB.fetch("select * from orders where line_code_of_produc
or line_code_of_production is null", '42%') do |data_row|!
r.page.list(:list).add_row do |row|!
row.item(:item_no).value(data_row[:item_no])!
row.item(:date_delivery).value(data_row[:date_delivery])!
row.item(:time_delivery).value(data_row[:time_delivery])!
- 11.
出力帳票とコード
r.use_layout 'inspections_list.tlf', :id=> :list_all!
r.start_new_page :layout => :list_all!
orders.DB.fetch("select * from orders where line_code_of_productio
or line_code_of_production is null", '42%') do |data_row|!
r.page.list(:list).add_row do |row|!
row.item(:item_no).value(data_row[:item_no])!
row.item(:date_delivery).value(data_row[:date_delivery])!
row.item(:time_delivery).value(data_row[:time_delivery])!
row.item(:quantity_of_order).value(data_row[:quantity_of_order
row.item(:quantity_of_order_sum).value(data_row[:quantity_of_
row.item(:inspection_as_standard).value(data_row[:inspection_a
row.item(:line_code_of_customer_delivery).value(data_row[:line
row.item(:line_name_of_customer_delivery).value(data_row[:lin
#row.item(:code_of_customer).value(data_row[:code_of_custom
row.item(:order_no).value(data_row[:order_no])!
end!
end!
end!
report.generate!
report = ThinReports::Report.create do |r|!
r.use_layout 'inspections.tlf', :default => true!
r.start_new_page #:layout => 'inspections.tlf'!
until (label_data.empty?) do!
read_as_col(label_data, 2) do |data_row_array|!
r.page.list(:list).add_row do |row|!
# Set details!
data_row_array.each_with_index do |col_array, _index|!
row.item(Symbol_table[_index][0]).value(col_array[:item_no])
row.item(Symbol_table[_index][1]).value(col_array[:date_deliv
row.item(Symbol_table[_index][2]).value(col_array[:time_deliv
- 12.
- 13.
- 14.
- 15.