lib/write_xlsx/package/table.rb in write_xlsx-0.86.0 vs lib/write_xlsx/package/table.rb in write_xlsx-0.87.0

- old
+ new

@@ -275,11 +275,25 @@ end def set_the_table_name if @param[:name] name = @param[:name] + + # Raise if the name contains invalid chars as defined by Excel help. + if name !~ /^[\w\\][\w\\.]*$/ || name =~ /^\d/ + raise "Invalid character in name '#{name} used in add_table()" + end + + # Raise if the name looks like a cell name. + if name =~ /^[a-zA-Z][a-zA-Z]?[a-dA-D]?[0-9]+$/ + ralse "Invalid name '#{name}' looks like a cell name in add_table()" + end + + # Raise if the name looks like a R1C1. + if name =~ /^[rcRC]$/ || name =~ /^[rcRC]\d+[rcRC]\d+$/ + raise "Invalid name '#{name}' like a RC cell ref in add_table()" + end - raise "Name '#{name} in add_table cannot contain spaces" if name =~ /\s/ @name = @param[:name] end end def set_the_table_and_autofilter_ranges