Class: Aio::Base::Toolkit::ExcelOffice::WorkBook
- Inherits:
-
Object
- Object
- Aio::Base::Toolkit::ExcelOffice::WorkBook
show all
- Includes:
- Ui::Verbose
- Defined in:
- lib/aio/base/toolkit/excel_office.rb
Constant Summary
collapse
- @@worksheets_name =
[]
Class Method Summary
collapse
Instance Method Summary
collapse
#clear_line, #print_error, #print_good, #progress_bar
Constructor Details
#initialize(encoding = "utf-8") ⇒ WorkBook
Returns a new instance of WorkBook.
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/aio/base/toolkit/excel_office.rb', line 8
def initialize(encoding = "utf-8")
if Aio::Base::Toolkit::OS.windows?
require "win32ole"
else
print_error "只有Windows系统才能使用Excel模块"
exit 0
end
@excel = WIN32OLE.new("excel.Application")
@excel.visible = false
@workbook = @excel.workbooks.add
@encoding = encoding
create_style
end
|
Class Method Details
.bold_style(sty) ⇒ Object
66
67
68
69
70
|
# File 'lib/aio/base/toolkit/excel_office.rb', line 66
def self.bold_style(sty)
sty.font.size = 9
sty.font.bold = true
sty.HorizontalAlignment = -4108
end
|
.normal_style(sty) ⇒ Object
61
62
63
64
|
# File 'lib/aio/base/toolkit/excel_office.rb', line 61
def self.normal_style(sty)
sty.font.size = 9
sty.HorizontalAlignment = -4108
end
|
.title_style(sty) ⇒ Object
72
73
74
75
76
|
# File 'lib/aio/base/toolkit/excel_office.rb', line 72
def self.title_style(sty)
sty.font.size = 20
sty.font.bold = true
sty.HorizontalAlignment = -4108
end
|
Instance Method Details
#add_worksheet(name) ⇒ Object
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/aio/base/toolkit/excel_office.rb', line 39
def add_worksheet(name)
while @@worksheets_name.include?(name)
name += "1"
end
@@worksheets_name << name
worksheet = @workbook.worksheets.add
worksheet.activate
worksheet.name = name
return WorkSheet.new(worksheet)
end
|
#close ⇒ Object
87
88
89
90
|
# File 'lib/aio/base/toolkit/excel_office.rb', line 87
def close
@workbook.close
@excel.quit
end
|
#create_style ⇒ Object
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/aio/base/toolkit/excel_office.rb', line 50
def create_style
sty = @workbook.styles.add("NormalStyle")
self.class.normal_style(sty)
sty = @workbook.styles.add("BoldStyle")
self.class.bold_style(sty)
sty = @workbook.styles.add("TitleStyle")
self.class.title_style(sty)
end
|
#display_alerts=(bool) ⇒ Object
35
36
37
|
# File 'lib/aio/base/toolkit/excel_office.rb', line 35
def display_alerts=(bool)
@excel.DisplayAlerts = bool
end
|
#save(path) ⇒ Object
82
83
84
85
|
# File 'lib/aio/base/toolkit/excel_office.rb', line 82
def save(path)
path = Aio::Base::Toolkit::String.safe_path(path)
@workbook.saveas(path)
end
|
#show ⇒ Object
78
79
80
|
# File 'lib/aio/base/toolkit/excel_office.rb', line 78
def show
@excel.visible = true
end
|
#window_normal ⇒ Object
30
31
32
|
# File 'lib/aio/base/toolkit/excel_office.rb', line 30
def window_normal
@excel.ActiveWindow.View = 1
end
|
#window_pagebreak ⇒ Object
25
26
27
|
# File 'lib/aio/base/toolkit/excel_office.rb', line 25
def window_pagebreak
@excel.ActiveWindow.View = 2
end
|