xlsx2latex 0.1.0.rc1 → 0.1.0.rc2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/readme.txt +4 -2
- data/bin/xlsx2latex.rb +30 -11
- data/lib/xlsx2latex.rb +1 -1
- data/lib/xlsx2latex/excel.rb +2 -1
- data/readme.rdoc +3 -0
- data/unittest/expected/test_bin_boolean.tex +25 -0
- data/unittest/expected/test_bin_date.tex +25 -0
- data/unittest/expected/test_bin_default.tex +25 -0
- data/unittest/expected/test_bin_float.tex +25 -0
- data/unittest/expected/test_bin_select_sheet1.tex +21 -0
- data/unittest/expected/{test_bin_select_sheet.tex → test_bin_select_sheet2.tex} +12 -0
- data/unittest/expected/test_bin_with_target.tex +24 -0
- data/unittest/test_bin.rb +8 -1
- metadata +14 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29d14be5d7d22b9a22633dfcf506679ccc1c5cc0
|
4
|
+
data.tar.gz: f6df11e8155515f4eafb4c0c17654a1debeb3425
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 50fb6c0a11784fa946537d7a5dd44e18021647cd1fd7f5d0a705d545929e46cbd4fdeed0dfa967b28587431a6d1f68ae800b0215137de0a96d0129a38bb17b7a
|
7
|
+
data.tar.gz: 6102fbb3c7887846f9825ec2b580442f665287caa1b9663526f947b1eeb18ca70832972c2705ccbcb6bddf8a313589786859b5922649ce7d786811b59ef1066c
|
data/bin/readme.txt
CHANGED
@@ -12,7 +12,7 @@ Usage: xlsx2latex.exe excelfile [OPTIONS]
|
|
12
12
|
|
13
13
|
Options
|
14
14
|
-t, --target TARGET target filename (default STDOUT)
|
15
|
-
-s, --sheet SHEET Source sheet in Excel
|
15
|
+
-s, --sheet SHEET Source sheet in Excel (default: all)
|
16
16
|
-f, --float FLOAT Format for floats
|
17
17
|
-d, --date DATE Format for dates
|
18
18
|
--time TIME Format for times
|
@@ -36,9 +36,11 @@ Change data format (e.g. to "1. January 2015"):
|
|
36
36
|
Change format for boolean values:
|
37
37
|
xlsx2latex my_excel.xlsx --true yes --false no
|
38
38
|
|
39
|
-
|
39
|
+
=======
|
40
|
+
Not supported features:
|
40
41
|
* xls-files [1]
|
41
42
|
* deep control on text formats [2]
|
43
|
+
* Suppress text formats (make no bold...) [3]
|
42
44
|
* select areas or specific columns for export [3]
|
43
45
|
* column specific formats [3]
|
44
46
|
* Detect number format of Excel and use it for the output [4]
|
data/bin/xlsx2latex.rb
CHANGED
@@ -1,9 +1,8 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
1
2
|
#encoding: utf-8
|
2
|
-
#!/usr/bin/env
|
3
3
|
=begin rdoc
|
4
4
|
Gem XLSX2LaTeX: Convert excel-files to LaTeX-tabulars.
|
5
5
|
=end
|
6
|
-
|
7
6
|
require_relative '../lib/xlsx2latex'
|
8
7
|
|
9
8
|
require 'optparse'
|
@@ -19,7 +18,7 @@ opt_parser = OptionParser.new do |opt|
|
|
19
18
|
options[:target] = target
|
20
19
|
end
|
21
20
|
|
22
|
-
opt.on("-s","--sheet SHEET","Source sheet in Excel") do |sheet|
|
21
|
+
opt.on("-s","--sheet SHEET","Source sheet in Excel (default: all)") do |sheet|
|
23
22
|
options[:sheet] = sheet
|
24
23
|
end
|
25
24
|
|
@@ -106,14 +105,34 @@ if ! File.exist?(ARGV[0])
|
|
106
105
|
end
|
107
106
|
|
108
107
|
$excel = XLSX2LaTeX::Excel.new(ARGV[0])
|
109
|
-
texcode =
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
108
|
+
texcode = <<preamble % [File.basename(__FILE__), ARGV[0] ]
|
109
|
+
%%encoding: utf-8
|
110
|
+
%%%%%%%%%%%%%%%%%%
|
111
|
+
%%
|
112
|
+
%% LaTeX tabular created by %s
|
113
|
+
%% Source: %s
|
114
|
+
%%
|
115
|
+
%%%%%%%%%%%%%%%%%%
|
116
|
+
preamble
|
117
|
+
sheets = []
|
118
|
+
if options[:sheet]
|
119
|
+
sheets << options[:sheet]
|
120
|
+
else
|
121
|
+
#~ sheets << $excel.xlsx.default_sheet
|
122
|
+
sheets = $excel.xlsx.sheets
|
123
|
+
end
|
124
|
+
|
125
|
+
sheets.each do |sheetname|
|
126
|
+
texcode << "\n\n%%\n%%Source: %s [%s]\n%%\n" % [ ARGV[0], sheetname]
|
127
|
+
texcode << $excel.to_latex(
|
128
|
+
sheetname: sheetname,
|
129
|
+
float_format: options[:float] || '%0.2f',
|
130
|
+
date_format: options[:date] || '%Y-%m-%d',
|
131
|
+
time_format: options[:time] || '%Y-%m-%d %H:%M',
|
132
|
+
bool_true: options[:true] || 'X',
|
133
|
+
bool_false: options[:false] || '-',
|
134
|
+
)
|
135
|
+
end
|
117
136
|
|
118
137
|
if options[:target]
|
119
138
|
File.open(options[:target], 'w:utf-8'){|f|
|
data/lib/xlsx2latex.rb
CHANGED
data/lib/xlsx2latex/excel.rb
CHANGED
@@ -36,7 +36,7 @@ The supported options (with defaults):
|
|
36
36
|
bool_true: 'X', bool_false: '-',
|
37
37
|
log_outputter: Log4r::StdoutOutputter.new('stdout')
|
38
38
|
)
|
39
|
-
|
39
|
+
@filename = filename
|
40
40
|
@log = Log4r::Logger.new(File.basename(filename))
|
41
41
|
@log.outputters << log_outputter if log_outputter
|
42
42
|
@log.level = Log4r::INFO
|
@@ -57,6 +57,7 @@ The supported options (with defaults):
|
|
57
57
|
Call #xlsx.info
|
58
58
|
=end
|
59
59
|
def info; @xlsx.info; end
|
60
|
+
def inspect; '<XLSX2LaTeX::Excel %s>' % @filename; end
|
60
61
|
=begin rdoc
|
61
62
|
|
62
63
|
call-seq:
|
data/readme.rdoc
CHANGED
@@ -1,4 +1,17 @@
|
|
1
1
|
INFO simple.xlsx: Convert Sheet DATA to LaTeX
|
2
|
+
INFO simple.xlsx: Convert Sheet DATA2 to LaTeX
|
3
|
+
%encoding: utf-8
|
4
|
+
%%%%%%%%%
|
5
|
+
%
|
6
|
+
% LaTeX tabular created by xlsx2latex.rb
|
7
|
+
% Source: testdata/simple.xlsx
|
8
|
+
%
|
9
|
+
%%%%%%%%%
|
10
|
+
|
11
|
+
|
12
|
+
%
|
13
|
+
%Source: testdata/simple.xlsx [DATA]
|
14
|
+
%
|
2
15
|
\begin{tabular}{c|c|c|c|c|}
|
3
16
|
first & 9.00 & yes & 0.81 & 2015-01-01\\
|
4
17
|
second & 6.00 & no & 0.05 & 2015-01-01\\
|
@@ -7,3 +20,15 @@ fourth & 23.00 & yes & 0.31 & 2015-01-01\\
|
|
7
20
|
fifth & 18.00 & no & 0.72 & 2015-01-01\\
|
8
21
|
sixth & 24.00 & no & 0.25 & 2015-01-01
|
9
22
|
\end{tabular}
|
23
|
+
|
24
|
+
%
|
25
|
+
%Source: testdata/simple.xlsx [DATA2]
|
26
|
+
%
|
27
|
+
\begin{tabular}{c|c|c|}
|
28
|
+
sixth & 11.00 & 0.03\\
|
29
|
+
fifth & 10.00 & 0.72\\
|
30
|
+
fourth & 20.00 & 0.98\\
|
31
|
+
third & 16.00 & 0.17\\
|
32
|
+
second & 19.00 & 0.04\\
|
33
|
+
first & 1.00 & 1.00
|
34
|
+
\end{tabular}
|
@@ -1,4 +1,17 @@
|
|
1
1
|
INFO simple.xlsx: Convert Sheet DATA to LaTeX
|
2
|
+
INFO simple.xlsx: Convert Sheet DATA2 to LaTeX
|
3
|
+
%encoding: utf-8
|
4
|
+
%%%%%%%%%
|
5
|
+
%
|
6
|
+
% LaTeX tabular created by xlsx2latex.rb
|
7
|
+
% Source: testdata/simple.xlsx
|
8
|
+
%
|
9
|
+
%%%%%%%%%
|
10
|
+
|
11
|
+
|
12
|
+
%
|
13
|
+
%Source: testdata/simple.xlsx [DATA]
|
14
|
+
%
|
2
15
|
\begin{tabular}{c|c|c|c|c|}
|
3
16
|
first & 9.00 & X & 0.81 & 01. January 2015\\
|
4
17
|
second & 6.00 & - & 0.05 & 01. January 2015\\
|
@@ -7,3 +20,15 @@ fourth & 23.00 & X & 0.31 & 01. January 2015\\
|
|
7
20
|
fifth & 18.00 & - & 0.72 & 01. January 2015\\
|
8
21
|
sixth & 24.00 & - & 0.25 & 01. January 2015
|
9
22
|
\end{tabular}
|
23
|
+
|
24
|
+
%
|
25
|
+
%Source: testdata/simple.xlsx [DATA2]
|
26
|
+
%
|
27
|
+
\begin{tabular}{c|c|c|}
|
28
|
+
sixth & 11.00 & 0.03\\
|
29
|
+
fifth & 10.00 & 0.72\\
|
30
|
+
fourth & 20.00 & 0.98\\
|
31
|
+
third & 16.00 & 0.17\\
|
32
|
+
second & 19.00 & 0.04\\
|
33
|
+
first & 1.00 & 1.00
|
34
|
+
\end{tabular}
|
@@ -1,4 +1,17 @@
|
|
1
1
|
INFO simple.xlsx: Convert Sheet DATA to LaTeX
|
2
|
+
INFO simple.xlsx: Convert Sheet DATA2 to LaTeX
|
3
|
+
%encoding: utf-8
|
4
|
+
%%%%%%%%%
|
5
|
+
%
|
6
|
+
% LaTeX tabular created by xlsx2latex.rb
|
7
|
+
% Source: testdata/simple.xlsx
|
8
|
+
%
|
9
|
+
%%%%%%%%%
|
10
|
+
|
11
|
+
|
12
|
+
%
|
13
|
+
%Source: testdata/simple.xlsx [DATA]
|
14
|
+
%
|
2
15
|
\begin{tabular}{c|c|c|c|c|}
|
3
16
|
first & 9.00 & X & 0.81 & 2015-01-01\\
|
4
17
|
second & 6.00 & - & 0.05 & 2015-01-01\\
|
@@ -7,3 +20,15 @@ fourth & 23.00 & X & 0.31 & 2015-01-01\\
|
|
7
20
|
fifth & 18.00 & - & 0.72 & 2015-01-01\\
|
8
21
|
sixth & 24.00 & - & 0.25 & 2015-01-01
|
9
22
|
\end{tabular}
|
23
|
+
|
24
|
+
%
|
25
|
+
%Source: testdata/simple.xlsx [DATA2]
|
26
|
+
%
|
27
|
+
\begin{tabular}{c|c|c|}
|
28
|
+
sixth & 11.00 & 0.03\\
|
29
|
+
fifth & 10.00 & 0.72\\
|
30
|
+
fourth & 20.00 & 0.98\\
|
31
|
+
third & 16.00 & 0.17\\
|
32
|
+
second & 19.00 & 0.04\\
|
33
|
+
first & 1.00 & 1.00
|
34
|
+
\end{tabular}
|
@@ -1,4 +1,17 @@
|
|
1
1
|
INFO simple.xlsx: Convert Sheet DATA to LaTeX
|
2
|
+
INFO simple.xlsx: Convert Sheet DATA2 to LaTeX
|
3
|
+
%encoding: utf-8
|
4
|
+
%%%%%%%%%
|
5
|
+
%
|
6
|
+
% LaTeX tabular created by xlsx2latex.rb
|
7
|
+
% Source: testdata/simple.xlsx
|
8
|
+
%
|
9
|
+
%%%%%%%%%
|
10
|
+
|
11
|
+
|
12
|
+
%
|
13
|
+
%Source: testdata/simple.xlsx [DATA]
|
14
|
+
%
|
2
15
|
\begin{tabular}{c|c|c|c|c|}
|
3
16
|
first & 09.000 & X & 00.814 & 2015-01-01\\
|
4
17
|
second & 06.000 & - & 00.054 & 2015-01-01\\
|
@@ -7,3 +20,15 @@ fourth & 23.000 & X & 00.306 & 2015-01-01\\
|
|
7
20
|
fifth & 18.000 & - & 00.720 & 2015-01-01\\
|
8
21
|
sixth & 24.000 & - & 00.250 & 2015-01-01
|
9
22
|
\end{tabular}
|
23
|
+
|
24
|
+
%
|
25
|
+
%Source: testdata/simple.xlsx [DATA2]
|
26
|
+
%
|
27
|
+
\begin{tabular}{c|c|c|}
|
28
|
+
sixth & 11.000 & 00.032\\
|
29
|
+
fifth & 10.000 & 00.718\\
|
30
|
+
fourth & 20.000 & 00.984\\
|
31
|
+
third & 16.000 & 00.167\\
|
32
|
+
second & 19.000 & 00.039\\
|
33
|
+
first & 01.000 & 00.999
|
34
|
+
\end{tabular}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
INFO simple.xlsx: Convert Sheet DATA to LaTeX
|
2
|
+
%encoding: utf-8
|
3
|
+
%%%%%%%%%
|
4
|
+
%
|
5
|
+
% LaTeX tabular created by xlsx2latex.rb
|
6
|
+
% Source: testdata/simple.xlsx
|
7
|
+
%
|
8
|
+
%%%%%%%%%
|
9
|
+
|
10
|
+
|
11
|
+
%
|
12
|
+
%Source: testdata/simple.xlsx [DATA]
|
13
|
+
%
|
14
|
+
\begin{tabular}{c|c|c|c|c|}
|
15
|
+
first & 9.00 & X & 0.81 & 2015-01-01\\
|
16
|
+
second & 6.00 & - & 0.05 & 2015-01-01\\
|
17
|
+
third & 8.00 & - & 0.93 & 2015-01-01\\
|
18
|
+
fourth & 23.00 & X & 0.31 & 2015-01-01\\
|
19
|
+
fifth & 18.00 & - & 0.72 & 2015-01-01\\
|
20
|
+
sixth & 24.00 & - & 0.25 & 2015-01-01
|
21
|
+
\end{tabular}
|
@@ -1,4 +1,16 @@
|
|
1
1
|
INFO simple.xlsx: Convert Sheet DATA2 to LaTeX
|
2
|
+
%encoding: utf-8
|
3
|
+
%%%%%%%%%
|
4
|
+
%
|
5
|
+
% LaTeX tabular created by xlsx2latex.rb
|
6
|
+
% Source: testdata/simple.xlsx
|
7
|
+
%
|
8
|
+
%%%%%%%%%
|
9
|
+
|
10
|
+
|
11
|
+
%
|
12
|
+
%Source: testdata/simple.xlsx [DATA2]
|
13
|
+
%
|
2
14
|
\begin{tabular}{c|c|c|}
|
3
15
|
sixth & 11.00 & 0.03\\
|
4
16
|
fifth & 10.00 & 0.72\\
|
@@ -1,3 +1,15 @@
|
|
1
|
+
%encoding: utf-8
|
2
|
+
%%%%%%%%%
|
3
|
+
%
|
4
|
+
% LaTeX tabular created by xlsx2latex.rb
|
5
|
+
% Source: testdata/simple.xlsx
|
6
|
+
%
|
7
|
+
%%%%%%%%%
|
8
|
+
|
9
|
+
|
10
|
+
%
|
11
|
+
%Source: testdata/simple.xlsx [DATA]
|
12
|
+
%
|
1
13
|
\begin{tabular}{c|c|c|c|c|}
|
2
14
|
first & 9.00 & X & 0.81 & 2015-01-01\\
|
3
15
|
second & 6.00 & - & 0.05 & 2015-01-01\\
|
@@ -5,4 +17,16 @@ third & 8.00 & - & 0.93 & 2015-01-01\\
|
|
5
17
|
fourth & 23.00 & X & 0.31 & 2015-01-01\\
|
6
18
|
fifth & 18.00 & - & 0.72 & 2015-01-01\\
|
7
19
|
sixth & 24.00 & - & 0.25 & 2015-01-01
|
20
|
+
\end{tabular}
|
21
|
+
|
22
|
+
%
|
23
|
+
%Source: testdata/simple.xlsx [DATA2]
|
24
|
+
%
|
25
|
+
\begin{tabular}{c|c|c|}
|
26
|
+
sixth & 11.00 & 0.03\\
|
27
|
+
fifth & 10.00 & 0.72\\
|
28
|
+
fourth & 20.00 & 0.98\\
|
29
|
+
third & 16.00 & 0.17\\
|
30
|
+
second & 19.00 & 0.04\\
|
31
|
+
first & 1.00 & 1.00
|
8
32
|
\end{tabular}
|
data/unittest/test_bin.rb
CHANGED
@@ -13,6 +13,7 @@ class Test_bin < MiniTest::Test
|
|
13
13
|
def setup
|
14
14
|
#~ @cmd = 'ruby ../bin/xlsx2latex.rb'
|
15
15
|
@cmd = '../bin/xlsx2latex.exe'
|
16
|
+
skip('%s not available' % @cmd) unless File.exist?(@cmd)
|
16
17
|
@src = 'testdata/simple.xlsx'
|
17
18
|
@cmd_src = [@cmd, @src].join(' ')
|
18
19
|
end
|
@@ -41,13 +42,19 @@ class Test_bin < MiniTest::Test
|
|
41
42
|
assert(File.exist?(filename), "Target file is not created")
|
42
43
|
assert_equal(<<LOG % filename, output)
|
43
44
|
INFO simple.xlsx: Convert Sheet DATA to LaTeX
|
45
|
+
INFO simple.xlsx: Convert Sheet DATA2 to LaTeX
|
44
46
|
INFO simple.xlsx: Created %s
|
45
47
|
LOG
|
46
48
|
assert_equal_filecontent('expected/%s.tex' % __method__, File.read(filename))
|
47
49
|
File.delete(filename)
|
48
50
|
end
|
49
51
|
|
50
|
-
def
|
52
|
+
def test_bin_select_sheet1
|
53
|
+
output = `#{@cmd_src} -s DATA`
|
54
|
+
assert_equal(0,$?.exitstatus)
|
55
|
+
assert_equal_filecontent('expected/%s.tex' % __method__, output)
|
56
|
+
end
|
57
|
+
def test_bin_select_sheet2
|
51
58
|
output = `#{@cmd_src} -s DATA2`
|
52
59
|
assert_equal(0,$?.exitstatus)
|
53
60
|
assert_equal_filecontent('expected/%s.tex' % __method__, output)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xlsx2latex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.0.
|
4
|
+
version: 0.1.0.rc2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Knut Lickert
|
@@ -66,7 +66,10 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '2'
|
69
|
-
description:
|
69
|
+
description: |
|
70
|
+
Take an Excel-file (xlsx) and convert the content into a LaTeX-tabular.
|
71
|
+
|
72
|
+
By default each tab becomes a tabular.
|
70
73
|
email: knut@lickert.net
|
71
74
|
executables:
|
72
75
|
- xlsx2latex.rb
|
@@ -93,7 +96,8 @@ files:
|
|
93
96
|
- unittest/expected/test_bin_date.tex
|
94
97
|
- unittest/expected/test_bin_default.tex
|
95
98
|
- unittest/expected/test_bin_float.tex
|
96
|
-
- unittest/expected/
|
99
|
+
- unittest/expected/test_bin_select_sheet1.tex
|
100
|
+
- unittest/expected/test_bin_select_sheet2.tex
|
97
101
|
- unittest/expected/test_bin_with_target.tex
|
98
102
|
- unittest/expected/test_default_sheet.tex
|
99
103
|
- unittest/expected/test_sheet1.tex
|
@@ -106,8 +110,9 @@ files:
|
|
106
110
|
- unittest/testdata/make_testdata.rb
|
107
111
|
- unittest/testdata/simple.xlsx
|
108
112
|
- unittest/testdata/testdata_excel2latex.xlsx
|
109
|
-
homepage:
|
110
|
-
licenses:
|
113
|
+
homepage: https://github.com/knut2/xlsx2latex
|
114
|
+
licenses:
|
115
|
+
- LPPL-1.3c
|
111
116
|
metadata: {}
|
112
117
|
post_install_message:
|
113
118
|
rdoc_options:
|
@@ -119,7 +124,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
119
124
|
requirements:
|
120
125
|
- - ">="
|
121
126
|
- !ruby/object:Gem::Version
|
122
|
-
version: '0'
|
127
|
+
version: '2.0'
|
123
128
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
124
129
|
requirements:
|
125
130
|
- - ">"
|
@@ -130,7 +135,7 @@ rubyforge_project:
|
|
130
135
|
rubygems_version: 2.4.5
|
131
136
|
signing_key:
|
132
137
|
specification_version: 4
|
133
|
-
summary:
|
138
|
+
summary: Convert Excel-file to LaTeX-tabulars
|
134
139
|
test_files:
|
135
140
|
- unittest/test_testdata_excel2latex.rb
|
136
141
|
- unittest/test_generated_xlsx.rb
|
@@ -151,7 +156,8 @@ test_files:
|
|
151
156
|
- unittest/expected/test_bin_date.tex
|
152
157
|
- unittest/expected/test_bin_default.tex
|
153
158
|
- unittest/expected/test_bin_float.tex
|
154
|
-
- unittest/expected/
|
159
|
+
- unittest/expected/test_bin_select_sheet1.tex
|
160
|
+
- unittest/expected/test_bin_select_sheet2.tex
|
155
161
|
- unittest/expected/test_bin_with_target.tex
|
156
162
|
- unittest/expected/test_default_sheet.tex
|
157
163
|
- unittest/expected/test_sheet1.tex
|