Silverlight 3文件对话框
|
好的-我有一个WCF服务,它可以从某个位置读取一个excel文件,并将数据剥离为一个对象。我需要的是允许程序用户将excel工作表上传到我的服务使用的文件位置的功能。
Alternitivley我可以将Uploaded excel表直接传递给服务。
有人能帮忙吗。我的服务代码是:
public List<ImportFile> ImportExcelData(string FileName)
{
//string dataSource = Location + FileName;
string dataSource = Location;
string conStr = \"Provider=Microsoft.Jet.OLEDB.4.0;\" + \"Data Source=\" + dataSource.ToString() + \";Extended Properties=Excel 8.0;\";
var con = new OleDbConnection(conStr);
con.Open();
var data = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
var sheetName = data.Rows[0][\"TABLE_NAME\"].ToString();
OleDbCommand cmd = new OleDbCommand(\"SELECT * FROM [\" + sheetName + \"] WHERE Status = \'4\'\", con);
OleDbDataAdapter oleda = new OleDbDataAdapter();
oleda.SelectCommand = cmd;
DataSet ds = new DataSet();
oleda.Fill(ds, \"Employees\");
DataTable dt = ds.Tables[0];
var _impFiles = new List<ImportFile>();
foreach (DataRow row in dt.Rows)
{
var _import = new ImportFile();
_import.PurchaseOrder = row[4].ToString();
try
{
var ord = row[8].ToString();
DateTime dati = Convert.ToDateTime(ord);
_import.ShipDate = dati;
}
catch (Exception)
{
_import.ShipDate = null;
}
ImportFile additionalData = new ImportFile();
additionalData = GetAdditionalData(_import.PurchaseOrder);
_import.NavOrderNo = additionalData.NavOrderNo;
_import.IsInstall = additionalData.IsInstall;
_import.SalesOrderId = additionalData.SalesOrderId;
_import.ActivityID = additionalData.ActivityID;
_import.Subject = additionalData.Subject ;
_import.IsMatched = (_import.ShipDate != null & _import.NavOrderNo != \"\" & _import.NavOrderNo != null & _import.ShipDate > DateTime.Parse(\"01/01/1999\") ? true : false);
_import.UpdatedShipToField = false;
_import.UpdatedShipToFieldFailed = false;
_import.CreateNote = false;
_import.CreateNoteFailed = false;
_import.CompleteTask = false;
_import.CompleteTaskFailed = false;
_import.FullyCompleted = 0;
_import.NotCompleted = false;
_impFiles.Add(_import);
}
oleda.Dispose();
con.Close();
//File.Delete(dataSource);
return _impFiles;
}
没有找到相关结果
已邀请:
2 个回复
埠仙俊
您也可以让WCF服务接受
并执行类似的操作。
更新资料 您的服务可能如下所示:
昧伎
再次感谢你的帮助