У меня есть HTML-таблица, которая представляет рабочее время для проектов
В последние 2 дня я пытался экспортировать эту таблицу в файл Excel. Наконец я смог сделать это с помощью шаблона XML-построителя.
Вот мой файл
xml.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8"
xml.Workbook ({
'xmlns' => "urn: schemas-microsoft-com: office: электронную таблицу",
'xmlns: o' => "urn: schemas-microsoft-com: office: office",
'xmlns: x' => "urn: schemas-microsoft-com: office: excel",
'xmlns: html' => "http://www.w3.org/TR/REC-html40",
'xmlns: ss' => "urn: schemas-microsoft-com: office: электронную таблицу"
}) сделать
xml.Styles do
xml.Style 'ss:ID' => 'Default', 'ss:Name' =>'Normal' do
xml.Alignment 'ss:Vertical' => 'Bottom','ss:Horizontal' => 'Center'
xml.Borders
xml.Font 'ss:FontName' => 'Verdana'
xml.Interior
xml.NumberFormat
end
xml.Style 'ss:ID' => 'header' do
xml.Alignment 'ss:Vertical' => 'Bottom',
'ss:Horizontal' => 'Center'
xml.Font 'ss:FontName' => 'Arial','ss:Bold'=>'1'
xml.Interior 'ss:Color'=>'#99CCFF', 'ss:Pattern'=>'Solid'
end
end
xml.Worksheet 'ss:Name' => 'Projects Reports' do
xml.Table 'ss:DefaultColumnWidth'=>'100','ss:DefaultRowHeight' => '15' do
# Header
xml.Row 'ss:StyleID' => 'header' do
xml.Cell { xml.Data 'ID', 'ss:Type' => 'String' }
xml.Cell { xml.Data 'NAME', 'ss:Type' => 'String' }
xml.Cell { xml.Data 'Actual Hours', 'ss:Type' => 'String' }
xml.Cell { xml.Data 'Estimated Hours', 'ss:Type' => 'String' }
xml.Cell { xml.Data 'Deadline', 'ss:Type' => 'String' }
end
# Rows
for project in @projects
xml.Row do
xml.Cell { xml.Data project.id, 'ss:Type' => 'Number' }
xml.Cell { xml.Data project.name, 'ss:Type' => 'String' }
xml.Cell { xml.Data project.working_hours, 'ss:Type' => 'String' }
xml.Cell { xml.Data project.estimated_hours, 'ss:Type' => 'String' }
xml.Cell { xml.Data project.deadline, 'ss:Type' => 'String' }
end
end
end
end
конец
В моем исходном html-представлении я отображаю в нижней части таблицы сумму рабочих часов проекта и хочу, чтобы это свойство также отображалось в файле Excel.
Я сделал некоторые проверки в Google, но не нашел ничего, что могло бы мне помочь. Буду признателен, если кто-нибудь подскажет, как я могу написать это в файле XML-компоновщика