Index: views_bonus/export/views_bonus_export.theme.inc
===================================================================
RCS file: views_bonus/export/views_bonus_export.theme.inc,v
retrieving revision 1.2
diff -u -r1.2 views_bonus_export.theme.inc
--- views_bonus_export.theme.inc	24 Jun 2009 17:27:53 -0000	1.2
+++ views_bonus_export.theme.inc	14 Jul 2009 22:15:39 -0000
@@ -50,6 +50,14 @@
 }
 
 /**
+ * Preprocess xls output template.
+ */
+function template_preprocess_views_bonus_export_xls(&$vars) {
+  drupal_set_header('Content-Type: application/msexcel');
+  _views_bonus_export_shared_preprocess($vars);
+}
+
+/**
  * Preprocess xml output template.
  */
 function template_preprocess_views_bonus_export_xml(&$vars) {
Index: views_bonus/export/views_bonus_export.views.inc
===================================================================
RCS file: views_bonus/export/views_bonus_export.views.inc,v
retrieving revision 1.6
diff -u -r1.6 views_bonus_export.views.inc
--- views_bonus_export.views.inc	13 May 2009 07:06:20 -0000	1.6
+++ views_bonus_export.views.inc	14 Jul 2009 18:55:49 -0000
@@ -58,6 +58,19 @@
         'uses options' => TRUE,
         'type' => 'feed',
       ),
+      'views_xls' => array(
+        'title' => t('XLS file'),
+        'help' => t('Display the view as a xls file.'),
+        'path' => $path,
+        'handler' => 'views_bonus_plugin_style_export_xls',
+        'parent' => 'views_bonus_export',
+        'theme' => 'views_bonus_export_xls',
+        'theme file' => 'views_bonus_export.theme.inc',
+        'uses row plugin' => FALSE,
+        'uses fields' => TRUE,
+        'uses options' => TRUE,
+        'type' => 'feed',
+      ),
       'views_xml' => array(
         'title' => t('XML file'),
         'help' => t('Display the view as a txt file.'),
Index: views_bonus/export/views_bonus_plugin_style_export.inc
===================================================================
RCS file: views_bonus/export/views_bonus_plugin_style_export.inc,v
retrieving revision 1.8
diff -u -r1.8 views_bonus_plugin_style_export.inc
--- views_bonus_plugin_style_export.inc	7 Jul 2009 07:59:40 -0000	1.8
+++ views_bonus_plugin_style_export.inc	14 Jul 2009 18:52:10 -0000
@@ -78,6 +78,7 @@
      'views_bonus_plugin_style_export_csv' => 'csv',
      'views_bonus_plugin_style_export_doc' => 'doc',
      'views_bonus_plugin_style_export_txt' => 'txt',
+	 'views_bonus_plugin_style_export_xls' => 'xls',
      'views_bonus_plugin_style_export_xml' => 'xml',
     );
     $type = $types[get_class($this)];
Index: views_bonus/export/views-bonus-export-xls.tpl.php
===================================================================
RCS file: views_bonus/export/views-bonus-export-xls.tpl.php
diff -rupN views-bonus-export-xls.tpl.php
--- views-bonus-export-xls.tpl.php	01 Jan 1970 10:00:00 -0000
+++ views-bonus-export-xls.tpl.php	14 Jul 2009 18:52:10 -0000
@@ -0,0 +1,26 @@
+<?php
+// $Id$
+/**
+ * @file views-view-table.tpl.php
+ * Template to display a view as a table.
+ *
+ * - $title : The title of this group of rows.  May be empty.
+ * - $rows: An array of row items. Each row is an array of content
+ *   keyed by field ID.
+ * - $header: an array of haeaders(labels) for fields.
+ * - $themed_rows: a array of rows with themed fields.
+ * @ingroup views_templates
+ */
+
+?>
+<html>
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  </head>
+  <body>
+    <?php 
+      $table = theme('table', $header, $themed_rows);
+      print $table; 
+    ?>
+  </body>
+</html>
Index: views_bonus/export/views_bonus_plugin_style_export_xls.inc
===================================================================
RCS file: views_bonus/export/views_bonus_plugin_style_export_xls.inc
diff -rupN views_bonus_plugin_style_export_xls.inc
--- views_bonus_plugin_style_export_xls.inc	01 Jan 1970 10:00:00 -0000
+++ views_bonus_plugin_style_export_xls.inc	14 Jul 2009 18:52:10 -0000
@@ -0,0 +1,26 @@
+<?php
+// $Id$
+/**
+ * @file
+ * Plugin include file for export style plugin.
+ */
+
+/**
+ * Generalized style plugin for export plugins.
+ *
+ * @ingroup views_style_plugins
+ */
+class views_bonus_plugin_style_export_xls extends views_bonus_plugin_style_export {
+  var $feed_text = 'Excel Document';
+  var $feed_file = 'view-%view.xls';
+
+  /**
+   * Initialize plugin.
+   *
+   * Set feed image for shared rendering later.
+   */
+  function init(&$view, &$display, $options = NULL) {
+    parent::init($view, $display, $options = NULL);
+    $this->feed_image = drupal_get_path('module', 'views_bonus_export') . '/images/xls.png';
+  }
+}
