diff -rup webform-orig/includes/webform.admin.inc webform/includes/webform.admin.inc
--- webform-orig/includes/webform.admin.inc	2012-05-13 00:59:13.000000000 -0400
+++ webform/includes/webform.admin.inc	2012-10-23 11:40:54.670177417 -0400
@@ -151,6 +151,19 @@ function webform_admin_settings() {
     ),
   );
 
+  $formats = filter_formats();
+  $format_options = array(0 => 'None');
+  foreach ($formats as $format_id => $format) {
+    $format_options[$format_id] = $format->name;
+  }
+  $form['advanced']['webform_csv_text_filter_format']  = array(
+    '#type' => 'select',
+    '#title' => t('Default text filter format'),
+    '#description' => t('Select a default filter format to run text fields through before export.'),
+    '#default_value' => variable_get('webform_csv_text_filter_format', ''),
+    '#options' => $format_options,
+  );
+
   $form['advanced']['webform_submission_access_control']  = array(
     '#type' => 'radios',
     '#title' => t('Submission access control'),
diff -rup webform-orig/includes/webform.export.inc webform/includes/webform.export.inc
--- webform-orig/includes/webform.export.inc	2012-05-13 00:59:13.000000000 -0400
+++ webform/includes/webform.export.inc	2012-10-23 11:40:54.670177417 -0400
@@ -98,6 +98,7 @@ class webform_exporter_delimited extends
 
   function webform_exporter_delimited($options) {
     $this->delimiter = isset($options['delimiter']) ? $options['delimiter'] : ',';
+    $this->text_filter_format = isset($options['text_filter_format']) ? $options['text_filter_format'] : 0;
     // Convert tabs.
     if ($this->delimiter == '\t') {
       $this->delimiter = "\t";
@@ -122,7 +123,15 @@ class webform_exporter_delimited extends
 
       // Remove <script> tags, which mysteriously cause Excel not to import.
       $data[$key] = preg_replace('!<(/?script.*?)>!', '[$1]', $data[$key]);
+
+      // Optionally, run data through an input filter
+      if (is_string($value) && strlen($value) > 0) {
+        if ($this->text_filter_format) {
+          $data[$key] = check_markup($value, $this->text_filter_format, FALSE);
+        }
+      }
     }
+
     $row = implode($this->delimiter, $data) . "\n";
 
     if (function_exists('mb_convert_encoding')) {
diff -rup webform-orig/includes/webform.report.inc webform/includes/webform.report.inc
--- webform-orig/includes/webform.report.inc	2012-05-13 00:59:13.000000000 -0400
+++ webform/includes/webform.report.inc	2012-10-23 11:40:54.670177417 -0400
@@ -330,6 +330,19 @@ function webform_results_download_form(&
     ),
   );
 
+  $formats = filter_formats();
+  $format_options = array(0 => 'None');
+  foreach ($formats as $format_id => $format) {
+    $format_options[$format_id] = $format->name;
+  }
+  $form['text_filter_format']  = array(
+    '#type' => 'select',
+    '#title' => t('Text filter format'),
+    '#description' => t('Select a filter format to run text fields through before export.'),
+    '#default_value' => isset($form_state['values']['text_filter_format']) ? $form_state['values']['text_filter_format'] : variable_get('webform_csv_text_filter_format', 0),
+    '#options' => $format_options,
+  );
+
   $form['select_options'] = array(
     '#type' => 'fieldset',
     '#title' => t('Select list options'),
@@ -503,6 +516,7 @@ function webform_results_download_range_
 function webform_results_download_form_submit(&$form, &$form_state) {
   $options = array(
     'delimiter' => $form_state['values']['delimiter'],
+    'text_filter_format' => $form_state['values']['text_filter_format'],
     'components' => array_keys(array_filter($form_state['values']['components'])),
     'select_keys' => $form_state['values']['select_keys'],
     'select_format' => $form_state['values']['select_format'],
