Содержимое документа Excel в веб-сервис

У меня есть окно создания персонала wpf, в котором я могу создать основную информацию, такую ​​​​как имя, фамилия и т. Д., Это создает персонал в моем веб-сервисе REST. Пример:

Сторона клиента:

    private void CreateStaffMember_Click(object sender, RoutedEventArgs e)
    {
        string uri = "http://localhost:8001/Service/Staff";
        StringBuilder sb = new StringBuilder();
        sb.Append("<Staff>");
        sb.AppendLine("<FirstName>" + this.textBox1.Text + "</FirstName>");
        sb.AppendLine("<LastName>" + this.textBox2.Text + "</LastName>");
        sb.AppendLine("<Password>" + this.passwordBox1.Password + "</Password>");
        sb.AppendLine("</Staff>");
        string NewStudent = sb.ToString();
        byte[] arr = Encoding.UTF8.GetBytes(NewStudent);
        HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri);
        req.Method = "POST";
        req.ContentType = "application/xml";
        req.ContentLength = arr.Length;
        Stream reqStrm = req.GetRequestStream();
        reqStrm.Write(arr, 0, arr.Length);
        reqStrm.Close();
        HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
        MessageBox.Show("Staff Creation: Status " + resp.StatusDescription);
        reqStrm.Close();
        resp.Close();
    }

Сторона веб-службы:

    #region POST

    [OperationContract]
    [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Xml, ResponseFormat = WebMessageFormat.Xml, UriTemplate = "/Staff")]
    void AddStaff(Staff staff);

    #endregion

    public void AddStaff(Staff staff)
    {
        staff.StaffID = (++eCount).ToString();
        staff.Salt = GenerateSalt();
        byte[] passwordHash = Hash(staff.Password, staff.Salt);
        staff.Password = Convert.ToBase64String(passwordHash);
        staffmembers.Add(staff);
    }

С этой стороны все в порядке, но я хочу «импортировать» данные о персонале из электронной таблицы Excel, не уверен, что импорт является правильным словом, но я хочу взять имена и фамилии, содержащиеся в такой электронной таблице, и добавить их в веб-сервис из клиентского приложения wpf.

Как бы я поступил? У меня есть диалог открытия файла:

    private void Import_Click(object sender, RoutedEventArgs e)
    {
        Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();

        // Show open file dialog box
        Nullable<bool> result = dlg.ShowDialog();

        // Process open file dialog box results
        if (result == true)
        {
            // Open document
            string filename = dlg.FileName;
        }
    }

Итак, я открываю электронную таблицу Excel, а как мне взять внутреннее содержимое и отправить его в веб-службу? Действительно застрял на коде или как это сделать :/

Просто ищу автоматизированный способ добавления сотрудников, а не ввод имен вручную, но, видя, что документ Excel для персонала может быть назван как угодно, я хотел открыть диалоговое окно файла.Структура внутри всегда будет иметь одно и то же имя и фамилию.

6
задан Kirsty White 30 June 2012 в 01:50
поделиться