我正在做一個asp.net網站,它顯示了從Excel文件的DataTable上傳如何讀取select語句到C#的DataTable
我想從Excel中columnns「城」 comparise的名稱和「ClienteProveedr」與同名的表(這些表來自sql服務器數據庫),所以我想顯示數據表區中的兩個數據表中的id。
這是一個示例代碼,我正在做的。
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack && Upload.HasFile)
{
if (Path.GetExtension(Upload.FileName).Equals(".xlsx"))
{
var excel = new ExcelPackage(Upload.FileContent);
var Facturas = excel.ToDataTable();
//fix ClienteProveedor
Facturas.Columns.Add("Proveedor", typeof(Int32));
Facturas.Columns.Add("MasivoFacturacion_Solicitantes", typeof(Int32));
Facturas.Columns.Add("MasivoFacturacion_Empresa", typeof(Int32));
Facturas.Columns.Add("MasivoFacturacion_EmpresaMensajeria", typeof(Int32));
Facturas.Columns.Add("idCiudad", typeof(Int32));
Facturas.Columns.Add("MasivoFacturacion_ClienteProveedor", typeof(Int32));
foreach (DataRow rw in Facturas.Rows)
{
rw["Proveedor"] = Responsable.SelectedIndex;
rw["MasivoFacturacion_Solicitantes"] = DropDownListSolicitantes.SelectedIndex + 1;
rw["MasivoFacturacion_Empresa"] = DropDownListEmpresa.SelectedIndex + 1;
rw["MasivoFacturacion_EmpresaMensajeria"] = DropDownListEmpresaMensajeria.SelectedIndex + 1;
rw["MasivoFacturacion_ClienteProveedor"] = /*row for IdClienteProveedor*/;
rw["MasivoFacturacion_ClienteProveedor"] = /*row for IdCIudad*/;
}
gvData.DataSource = Facturas;
gvData.DataBind();
ViewState["dtFacturas"] = Facturas;
}
}
}
excel.ToDataTable返回什麼?它實際上是一個DataTable嗎?如果是這樣,您不需要手動添加列並循環遍歷行。只需設置數據源並將其綁定即可。 –
是的,excel.ToDataTable方法從exce文件導入數據到數據表 –