Submitting Data / Updating Data into Webform programmatically
You can do this by adding following code in your custom module

  // Submit a webform
  module_load_include('inc', 'webform', 'webform.module');
  module_load_include('inc', 'webform', 'includes/webform.submissions');
  // Load node by webform id
  $node = new stdClass();
  $node = node_load($webform_nid);
  // Get next serial number 
  $serial = _webform_submission_serial_next_value($webform_nid);

      $data = array(
        1 =&gt; array('Guest user'),
        2 =&gt; array('guest@example.com'),
        3 =&gt; array('Final testing of webform'),
      );

  $submission = (object) array(
    'nid' =&gt;$webform_nid,
    'uid' =&gt; 0,
    'submitted' =&gt; REQUEST_TIME,
    'remote_addr' =&gt; ip_address(),
    'is_draft' =&gt; FALSE,
    'serial' =&gt; $serial,
    'data' =&gt; $data,
  );

  $sid = webform_submission_insert($node, $submission);