Tôi có cửa sổ tạo nhân viên wpf, trong đó tôi có thể tạo thông tin cơ bản như tên, họ, v.v. tạo ra các nhân viên trong dịch vụ web REST của tôi. Một ví dụ:Nội dung tài liệu Excel tới webservice
phía Chủ đầu tư:
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();
}
bên Web Service:
#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);
}
Tất cả tốt về phía đó, nhưng Im tìm cách để "nhập khẩu" các chi tiết nhân viên từ một bảng tính excel, không chắc chắn nếu nhập là từ chính xác nhưng tôi muốn lấy tên và họ có trong bảng tính như vậy và thêm chúng vào dịch vụ web từ ứng dụng wpf phía máy khách.
Tôi sẽ làm gì? Tôi có hộp thoại mở tệp của mình:
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;
}
}
Vì vậy, tôi mở bảng tính excel của mình, sau đó tôi sẽ lấy nội dung bên trong và gửi đến dịch vụ web như thế nào? Thực sự bị kẹt trên mã hoặc cách xử lý: hoặc
Chỉ cần tìm cách tự động thêm nhân viên thay vì nhập tên theo cách thủ công, nhưng thấy tài liệu excel của nhân viên có thể được đặt tên bất cứ thứ gì tôi muốn mở tệp hộp thoại. Cấu trúc bên trong sẽ luôn có cùng tên và họ.
điều này không có cách nào trả lời câu hỏi của bạn ... nhưng sẽ không dễ dàng hơn khi lưu trữ dữ liệu trong DB? – Pynner