From c22fbb916b01495f90aa5430c00dc063f1690f98 Mon Sep 17 00:00:00 2001 From: Randy Morgan Date: Wed, 22 Feb 2012 21:30:00 +0900 Subject: updating workbook views to actually include references to each worksheet, and the worksheet to point to its on sheetView as well as selection. I'll move the selection and tab selection out to programable values when I have a bit more time. --- lib/axlsx/workbook/workbook.rb | 6 +++++- lib/axlsx/workbook/worksheet/worksheet.rb | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/axlsx/workbook/workbook.rb b/lib/axlsx/workbook/workbook.rb index 9bb63462..51f38b50 100644 --- a/lib/axlsx/workbook/workbook.rb +++ b/lib/axlsx/workbook/workbook.rb @@ -181,7 +181,11 @@ require 'axlsx/workbook/shared_strings_table.rb' xml.workbookPr(:date1904=>@@date1904) # # Required to support rubyXL parsing as it requires sheetView, which requires this. - xml.bookViews { xml.workbookView :activeTab=>0 } + xml.bookViews { + worksheets.count.times do + xml.workbookView :activeTab=>0 + end + } xml.sheets { @worksheets.each_with_index do |sheet, index| xml.sheet(:name=>sheet.name, :sheetId=>index+1, :"r:id"=>sheet.rId) diff --git a/lib/axlsx/workbook/worksheet/worksheet.rb b/lib/axlsx/workbook/worksheet/worksheet.rb index bd2170a5..5284c475 100644 --- a/lib/axlsx/workbook/worksheet/worksheet.rb +++ b/lib/axlsx/workbook/worksheet/worksheet.rb @@ -298,7 +298,11 @@ module Axlsx # another patch for the folks at rubyXL as thier parser depends on this optional element. xml.dimension :ref=>dimension unless rows.size == 0 # this is required by rubyXL, spec says who cares - but it seems they didnt notice - xml.sheetViews { xml.sheetView :workbookViewId =>0 } + xml.sheetViews { + xml.sheetView(:tabSelected => 1, :workbookViewId => index) { + xml.selection :activeCell=>"A1", :sqref => "A1" + } + } if @auto_fit_data.size > 0 xml.cols { -- cgit v1.2.3