fast_excel 0.2.3 → 0.2.5

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.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/.travis.yml +4 -0
  4. data/CHANGELOG.md +9 -0
  5. data/Gemfile.lock +16 -16
  6. data/README.md +1 -1
  7. data/Rakefile +1 -1
  8. data/fast_excel.gemspec +1 -1
  9. data/lib/fast_excel.rb +21 -5
  10. data/lib/fast_excel/binding/format.rb +3 -3
  11. data/libxlsxwriter/.drone.yml +27 -0
  12. data/libxlsxwriter/.indent.pro +3 -0
  13. data/libxlsxwriter/.travis.yml +12 -0
  14. data/libxlsxwriter/CMakeLists.txt +348 -0
  15. data/libxlsxwriter/Changes.txt +78 -0
  16. data/libxlsxwriter/LICENSE.txt +65 -4
  17. data/libxlsxwriter/Makefile +27 -7
  18. data/libxlsxwriter/Readme.md +2 -0
  19. data/libxlsxwriter/appveyor.yml +65 -0
  20. data/libxlsxwriter/cmake/FindMINIZIP.cmake +121 -0
  21. data/libxlsxwriter/cmake/FindPackage.cmake +183 -0
  22. data/libxlsxwriter/cmake/FindZLIB.cmake +123 -0
  23. data/libxlsxwriter/cmake/i686-toolchain.cmake +7 -0
  24. data/libxlsxwriter/cocoapods/libxlsxwriter-umbrella.h +1 -1
  25. data/libxlsxwriter/cocoapods/libxlsxwriter.modulemap +2 -2
  26. data/libxlsxwriter/include/xlsxwriter.h +2 -2
  27. data/libxlsxwriter/include/xlsxwriter/app.h +1 -1
  28. data/libxlsxwriter/include/xlsxwriter/chart.h +109 -8
  29. data/libxlsxwriter/include/xlsxwriter/common.h +10 -2
  30. data/libxlsxwriter/include/xlsxwriter/content_types.h +1 -1
  31. data/libxlsxwriter/include/xlsxwriter/core.h +1 -1
  32. data/libxlsxwriter/include/xlsxwriter/custom.h +1 -1
  33. data/libxlsxwriter/include/xlsxwriter/drawing.h +1 -1
  34. data/libxlsxwriter/include/xlsxwriter/format.h +6 -6
  35. data/libxlsxwriter/include/xlsxwriter/hash_table.h +1 -1
  36. data/libxlsxwriter/include/xlsxwriter/packager.h +6 -1
  37. data/libxlsxwriter/include/xlsxwriter/relationships.h +1 -1
  38. data/libxlsxwriter/include/xlsxwriter/shared_strings.h +1 -1
  39. data/libxlsxwriter/include/xlsxwriter/styles.h +2 -2
  40. data/libxlsxwriter/include/xlsxwriter/theme.h +1 -1
  41. data/libxlsxwriter/include/xlsxwriter/utility.h +11 -5
  42. data/libxlsxwriter/include/xlsxwriter/workbook.h +3 -3
  43. data/libxlsxwriter/include/xlsxwriter/worksheet.h +517 -39
  44. data/libxlsxwriter/include/xlsxwriter/xmlwriter.h +2 -2
  45. data/libxlsxwriter/libxlsxwriter.podspec +4 -2
  46. data/libxlsxwriter/src/Makefile +30 -5
  47. data/libxlsxwriter/src/app.c +1 -1
  48. data/libxlsxwriter/src/chart.c +76 -19
  49. data/libxlsxwriter/src/content_types.c +1 -1
  50. data/libxlsxwriter/src/core.c +10 -10
  51. data/libxlsxwriter/src/custom.c +2 -2
  52. data/libxlsxwriter/src/drawing.c +1 -1
  53. data/libxlsxwriter/src/format.c +3 -3
  54. data/libxlsxwriter/src/hash_table.c +1 -1
  55. data/libxlsxwriter/src/packager.c +20 -7
  56. data/libxlsxwriter/src/relationships.c +1 -1
  57. data/libxlsxwriter/src/shared_strings.c +1 -1
  58. data/libxlsxwriter/src/styles.c +4 -4
  59. data/libxlsxwriter/src/theme.c +1 -1
  60. data/libxlsxwriter/src/utility.c +41 -1
  61. data/libxlsxwriter/src/workbook.c +8 -6
  62. data/libxlsxwriter/src/worksheet.c +748 -31
  63. data/libxlsxwriter/src/xmlwriter.c +2 -2
  64. data/libxlsxwriter/third_party/minizip/Makefile +6 -1
  65. data/libxlsxwriter/version.txt +1 -1
  66. data/test/reopen_test.rb +22 -0
  67. data/test/test_helper.rb +8 -5
  68. data/test/validations_test.rb +27 -0
  69. metadata +11 -2
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Used in conjunction with the libxlsxwriter library.
5
5
  *
6
- * Copyright 2014-2017, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
6
+ * Copyright 2014-2018, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
7
7
  *
8
8
  */
9
9
 
@@ -349,7 +349,7 @@ lxw_new_attribute_dbl(const char *key, double value)
349
349
  struct xml_attribute *attribute = malloc(sizeof(struct xml_attribute));
350
350
 
351
351
  LXW_ATTRIBUTE_COPY(attribute->key, key);
352
- lxw_snprintf(attribute->value, LXW_MAX_ATTRIBUTE_LENGTH, "%.16g", value);
352
+ lxw_sprintf_dbl(attribute->value, value);
353
353
 
354
354
  return attribute;
355
355
  }
@@ -9,7 +9,7 @@ ifdef V
9
9
  Q=
10
10
  endif
11
11
 
12
- UNAME := $(shell uname)
12
+ UNAME := $(shell uname -sr)
13
13
 
14
14
  # Check for MinGW/MinGW64/Cygwin environments.
15
15
  ifneq (,$(findstring MINGW, $(UNAME)))
@@ -32,6 +32,11 @@ CC = gcc
32
32
  CFLAGS += -DUSE_FILE32API
33
33
  endif
34
34
 
35
+ # Fix for modified zconf.h on Gentoo.
36
+ ifneq (,$(findstring gentoo, $(UNAME)))
37
+ CFLAGS += -DOF=_Z_OF
38
+ endif
39
+
35
40
  all: ioapi.o zip.o ioapi.so zip.so
36
41
 
37
42
  %.o : %.c
@@ -1 +1 @@
1
- 2017-02-28 20:35:27 +0800 c8064ee
1
+ 2018-06-22 01:06:44 +0800 54dc4d0
@@ -0,0 +1,22 @@
1
+ require_relative 'test_helper'
2
+
3
+ describe "FastExcel::Worksheet" do
4
+
5
+ it "should get_worksheet_by_name" do
6
+ workbook = FastExcel.open(constant_memory: false)
7
+ workbook.add_worksheet("Page1")
8
+
9
+ ws = workbook.get_worksheet_by_name("Page1")
10
+ ws.write_row(0, ['1'])
11
+
12
+ workbook.close
13
+
14
+ error = assert_raises do
15
+ FastExcel.open(workbook.filename, constant_memory: false)
16
+ end
17
+
18
+ assert_equal(error.class, ArgumentError)
19
+ assert_equal(error.message, "File '#{workbook.filename}' already exists. FastExcel can not open existing files, only create new files")
20
+ end
21
+
22
+ end
@@ -1,6 +1,7 @@
1
1
  require 'bundler/setup'
2
2
  require 'minitest/autorun'
3
3
  require "minitest/reporters"
4
+ require 'pp'
4
5
 
5
6
  ##Encoding.default_external = Encoding::UTF_8
6
7
  ##Encoding.default_internal = Encoding::UTF_8
@@ -40,12 +41,14 @@ def parse_xlsx_as_matrix(file_path)
40
41
  sheet = excel.sheet(0)
41
42
 
42
43
  rows = []
43
- 1.upto(sheet.last_row) do |row_number|
44
- row = 1.upto(sheet.last_column).map do |col|
45
- sheet.cell(row_number, col)
46
- end
44
+ if sheet.last_row
45
+ 1.upto(sheet.last_row) do |row_number|
46
+ row = 1.upto(sheet.last_column).map do |col|
47
+ sheet.cell(row_number, col)
48
+ end
47
49
 
48
- rows << row
50
+ rows << row
51
+ end
49
52
  end
50
53
 
51
54
  return rows
@@ -0,0 +1,27 @@
1
+ require_relative 'test_helper'
2
+
3
+ describe "FastExcel validations" do
4
+
5
+ it "should raise error when duplicate sheet name" do
6
+ workbook = FastExcel.open(constant_memory: true)
7
+
8
+ workbook.add_worksheet("Payments Report")
9
+ error = assert_raises do
10
+ workbook.add_worksheet("Payments Report")
11
+ end
12
+
13
+ assert_equal(ArgumentError, error.class)
14
+ assert_equal("Worksheet name 'Payments Report' is already in use", error.message)
15
+ end
16
+
17
+ it "should not raise error when worksheet name is empty string" do
18
+ workbook = FastExcel.open(constant_memory: true)
19
+
20
+ ws1 = workbook.add_worksheet("")
21
+ ws2 = workbook.add_worksheet("")
22
+ ws2.write_value(0, 2, "aaa")
23
+
24
+ assert_equal("", ws1[:name])
25
+ assert_equal("", ws2[:name])
26
+ end
27
+ end
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.2.3
4
+ version: 0.2.5
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-10-26 00:00:00.000000000 Z
11
+ date: 2018-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -68,14 +68,21 @@ files:
68
68
  - lib/fast_excel/binding/format.rb
69
69
  - lib/fast_excel/binding/workbook.rb
70
70
  - lib/fast_excel/binding/worksheet.rb
71
+ - libxlsxwriter/.drone.yml
71
72
  - libxlsxwriter/.gitignore
72
73
  - libxlsxwriter/.indent.pro
73
74
  - libxlsxwriter/.travis.yml
75
+ - libxlsxwriter/CMakeLists.txt
74
76
  - libxlsxwriter/CONTRIBUTING.md
75
77
  - libxlsxwriter/Changes.txt
76
78
  - libxlsxwriter/LICENSE.txt
77
79
  - libxlsxwriter/Makefile
78
80
  - libxlsxwriter/Readme.md
81
+ - libxlsxwriter/appveyor.yml
82
+ - libxlsxwriter/cmake/FindMINIZIP.cmake
83
+ - libxlsxwriter/cmake/FindPackage.cmake
84
+ - libxlsxwriter/cmake/FindZLIB.cmake
85
+ - libxlsxwriter/cmake/i686-toolchain.cmake
79
86
  - libxlsxwriter/cocoapods/libxlsxwriter-umbrella.h
80
87
  - libxlsxwriter/cocoapods/libxlsxwriter.modulemap
81
88
  - libxlsxwriter/include/xlsxwriter.h
@@ -153,8 +160,10 @@ files:
153
160
  - test/date_test.rb
154
161
  - test/default_format_test.rb
155
162
  - test/format_test.rb
163
+ - test/reopen_test.rb
156
164
  - test/test_helper.rb
157
165
  - test/tmpfile_test.rb
166
+ - test/validations_test.rb
158
167
  - test/worksheet_test.rb
159
168
  homepage: https://github.com/paxa/fast_excel
160
169
  licenses: