fast_excel 0.1.2 → 0.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dc15938a6e5c2e6d2708f9c7e78339d4e4a0f324
4
- data.tar.gz: 27021e66d576016c1c6c17ec7898d52651941ffe
3
+ metadata.gz: 3527e28360ec8d98f3bcd0e2ea27bf3c4aef8709
4
+ data.tar.gz: 34e9b7d88f7070023dd38d4aa2f726ca94c04f00
5
5
  SHA512:
6
- metadata.gz: d0a00cb4569d0805b90de9e3207cc7a9e9e3e59caaf18389a8969dae198532547b92e59903adc4d8de5927d11c91a4e4ef46ba9926c5973b174ecebe9747f35f
7
- data.tar.gz: 62b173870cf8763921e39f7f725073daab2d72efcf6855da64090e80eabac8d5c6806303f9a6d928a427c76eb50345bdddffa60cb0697464b3aa14fd65f03d71
6
+ metadata.gz: 1bff87327a872ca3d0db96b05c38e3cc22d31051840711a03c7adc83484ead48395f0c6c2e481ada0baed1477fb0105e5136fa55053ccf6f5561f9073b7cc2ea
7
+ data.tar.gz: 6df2008f272b89ca1169f4d29f95db6a9049c317cf8e295fc384f49627cdb997d185b9f29d972b6982d37ce5d09994bfd13d5418d19dbbb75df49f79d904fdcd
data/.dockerignore ADDED
@@ -0,0 +1 @@
1
+ libxlsxwriter/.git
data/Rakefile ADDED
@@ -0,0 +1,27 @@
1
+ namespace :build do
2
+ desc "Build mac binary"
3
+ task :mac do
4
+ Dir.chdir("./libxlsxwriter") do
5
+ system("make clean && make")
6
+ system('cp lib/libxlsxwriter.dylib ../binaries/libxlsxwriter-darwin.dylib')
7
+ end
8
+ end
9
+
10
+ desc "Build linux (libc) binary"
11
+ task :linux do
12
+ system("docker build . -f build_centos_linux.docker -t fast_excel_centos")
13
+ system("docker run -t fast_excel_centos readelf -d lib/libxlsxwriter.so")
14
+ last_container_id = `docker ps -a | grep fast_excel_centos | head -1 | awk '{print $1;}'`.strip
15
+ system("docker cp #{last_container_id}:/srv/libxlsxwriter/lib/libxlsxwriter.so ./binaries/libxlsxwriter-glibc.so")
16
+ system("docker rm #{last_container_id}")
17
+ end
18
+
19
+ desc "Build linux (musl) binary"
20
+ task :linux_musl do
21
+ system("docker build . -f build_alpine_linux.docker -t fast_excel_alpine")
22
+ system("docker run -t fast_excel_alpine readelf -d lib/libxlsxwriter.so")
23
+ last_container_id = `docker ps -a | grep fast_excel_alpine | head -1 | awk '{print $1;}'`.strip
24
+ system("docker cp #{last_container_id}:/srv/libxlsxwriter/lib/libxlsxwriter.so ./binaries/libxlsxwriter-alpine.so")
25
+ system("docker rm #{last_container_id}")
26
+ end
27
+ end
Binary file
Binary file
Binary file
@@ -12,4 +12,5 @@ WORKDIR /srv/libxlsxwriter
12
12
 
13
13
  COPY ./libxlsxwriter /srv/libxlsxwriter
14
14
 
15
- RUN make
15
+ RUN make clean
16
+ RUN make
@@ -9,4 +9,5 @@ WORKDIR /srv/libxlsxwriter
9
9
 
10
10
  COPY ./libxlsxwriter /srv/libxlsxwriter
11
11
 
12
- RUN make
12
+ RUN make clean
13
+ RUN make
data/example.rb CHANGED
@@ -1,7 +1,10 @@
1
1
  require_relative './lib/fast_excel'
2
2
 
3
- workbook = FastExcel.open("hello_world_ffi.xlsx", constant_memory: true)
4
- worksheet = workbook.add_worksheet("Garuda Payments")
3
+ workbook = FastExcel.open("ffi_example.xlsx", constant_memory: true)
4
+
5
+ workbook.default_format[:font_size] = -1 # user's default
6
+
7
+ worksheet = workbook.add_worksheet("Payments Report")
5
8
 
6
9
  bold = workbook.bold_cell_format
7
10
  worksheet.set_column(0, 0, FastExcel::DEF_COL_WIDTH, bold)
data/example_chart.rb ADDED
@@ -0,0 +1,20 @@
1
+ require_relative './lib/fast_excel'
2
+
3
+ workbook = FastExcel.open("chart_ffi.xlsx", constant_memory: true)
4
+ worksheet = workbook.add_worksheet
5
+
6
+ for i in 0..5
7
+ for n in 0..3
8
+ worksheet.write_number(i, n, (i + 1) * (n + 1), nil)
9
+ end
10
+ end
11
+
12
+ chart = workbook.add_chart(Libxlsxwriter::enum_type(:chart_type)[:column])
13
+
14
+ chart.add_series("Bob", "Sheet1!$A$1:$A$5")
15
+ chart.add_series("Alice", "Sheet1!$B$1:$B$5")
16
+ chart.add_series("Montgomery", "Sheet1!$C$1:$C$5")
17
+
18
+ worksheet.insert_chart(1, 7, chart)
19
+
20
+ workbook.close
data/example_image.rb ADDED
@@ -0,0 +1,21 @@
1
+ require_relative './lib/fast_excel'
2
+ require 'pp'
3
+
4
+ workbook = FastExcel.open("ffi_example_image.xlsx", constant_memory: false)
5
+ worksheet = workbook.add_worksheet
6
+
7
+ def print_str(struct)
8
+ res = {}
9
+ struct.members.each do |key|
10
+ res[key] = struct[key]
11
+ end
12
+ pp res
13
+ end
14
+
15
+ img_options = Libxlsxwriter::ImageOptions.new
16
+ img_options[:x_offset] = 0
17
+ img_options[:y_offset] = 0
18
+
19
+ worksheet.insert_image_opt(3, 3, "libxlsxwriter/examples/logo.png", img_options)
20
+
21
+ workbook.close
data/fast_excel.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "fast_excel"
3
- s.version = "0.1.2"
3
+ s.version = "0.1.3"
4
4
  s.author = ["Pavel Evstigneev"]
5
5
  s.email = ["pavel.evst@gmail.com"]
6
6
  s.homepage = "https://github.com/paxa/fast_excel"
@@ -1477,18 +1477,18 @@ module Libxlsxwriter
1477
1477
  class Format < FFI::Struct
1478
1478
  include FormatWrappers
1479
1479
  layout :file, :pointer,
1480
- :xf_format_indices, HashTable,
1480
+ :xf_format_indices, HashTable.ptr,
1481
1481
  :num_xf_formats, :pointer,
1482
- :xf_index, :int,
1483
- :dxf_index, :int,
1482
+ :xf_index, :int32_t,
1483
+ :dxf_index, :int32_t,
1484
1484
  :num_format, [:char, 128],
1485
1485
  :font_name, [:char, 128],
1486
1486
  :font_scheme, [:char, 128],
1487
- :num_format_index, :ushort,
1488
- :font_index, :ushort,
1487
+ :num_format_index, :uint16,
1488
+ :font_index, :uint16,
1489
1489
  :has_font, :uchar,
1490
1490
  :has_dxf_font, :uchar,
1491
- :font_size, :ushort,
1491
+ :font_size, :uint16,
1492
1492
  :bold, :uchar,
1493
1493
  :italic, :uchar,
1494
1494
  :font_color, :int,
@@ -7745,7 +7745,11 @@ module Libxlsxwriter
7745
7745
  def add_format()
7746
7746
  Format.new Libxlsxwriter.workbook_add_format(self)
7747
7747
  end
7748
-
7748
+
7749
+ def default_format()
7750
+ Format.new Libxlsxwriter.workbook_default_format(self)
7751
+ end
7752
+
7749
7753
  # @param [Integer] chart_type
7750
7754
  # @return [Chart]
7751
7755
  def add_chart(chart_type)
@@ -7862,7 +7866,9 @@ module Libxlsxwriter
7862
7866
  :has_bmp, :uchar,
7863
7867
  :used_xf_formats, HashTable
7864
7868
  end
7865
-
7869
+
7870
+ attach_function :workbook_default_format, :workbook_default_format, [Workbook], Format
7871
+
7866
7872
  # (Not documented)
7867
7873
  #
7868
7874
  # @method workbook_new(filename)
data/lib/fast_excel.rb CHANGED
@@ -80,6 +80,10 @@ module FastExcel
80
80
  format.set_num_format(pattern)
81
81
  format
82
82
  end
83
+
84
+ def add_worksheet(sheetname = nil)
85
+ super
86
+ end
83
87
  end
84
88
 
85
89
  module WorksheetExt
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fast_excel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Evstigneev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-27 00:00:00.000000000 Z
11
+ date: 2017-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -37,17 +37,21 @@ executables: []
37
37
  extensions: []
38
38
  extra_rdoc_files: []
39
39
  files:
40
+ - ".dockerignore"
40
41
  - ".gitignore"
41
42
  - BUILD.md
42
43
  - Gemfile
43
44
  - Gemfile.lock
44
45
  - README.md
46
+ - Rakefile
45
47
  - binaries/libxlsxwriter-alpine.so
46
48
  - binaries/libxlsxwriter-darwin.dylib
47
49
  - binaries/libxlsxwriter-glibc.so
48
50
  - build_alpine_linux.docker
49
51
  - build_centos_linux.docker
50
52
  - example.rb
53
+ - example_chart.rb
54
+ - example_image.rb
51
55
  - fast_excel.gemspec
52
56
  - lib/fast_excel.rb
53
57
  - lib/fast_excel/binding.rb