如何浏览Excel文件并使用按钮导入
本文关键字:按钮 导入 文件 Excel 何浏览 浏览 | 更新日期: 2023-09-27 18:24:33
我有两个按钮(LoadFile和ImportFile)。我想从目录中单击加载文件和Excel文件的浏览器,然后单击导入按钮,以便将数据加载到数据库中的表中。Excel表格被称为"银行对账单",有1000多行。我以前没有做过,我是用Linq到SQL来做这件事的。
这是我的编码,但不确定如何进行或获得方法。有人能帮我吗?谢谢
加载
public void LoadExcel()
{
string _LoadPath = @"C:'NewFNBFile1.xls";
TextBox1.Text = _LoadPath.ToString();
var _File = new ExcelQueryFactory(_LoadPath);
_File.AddMapping("Number", "Number");
_File.AddMapping("DateReceived", "DateReceived");
_File.AddMapping("Description1", "Description1"
_File.AddMapping("Description2", "Description2");
_File.AddMapping("Description3", "Description3");
_File.AddMapping("Amount", "Amount");
_File.AddMapping("Balance", "Balance");
_File.AddMapping("AccruedCharges", "AccruedCharges");
}
protected void btnBroswer_Click(object sender, EventArgs e)
{
LoadExcel();
}
导入
protected void btnImport_Click(object sender, EventArgs e)
{
var _list = new ExcelQueryFactory(@"C:'NewFNBFile1.xls");
var _Show = from x in _dc.TESTING_NewBankFile1_s
where x ["Description3"] == "A19C28425645285"
select new
{
Number = x["Number"],
DateReceived = x["DateReceived"],
Description1 = x["Description1"],
Description2 = x["Description2"],
Description3 = x["Description3"],
Amount = x["Amount"],
Balance = x["Balance"],
AccruedCharges = x["AccruedCharges"],
};
}
请参阅下面的c#代码
public System.Data.DataTable GetTable(string filename, string SheetName, string outTableName)
{
OleDbConnection oleConn = null;
OleDbDataAdapter oleAdapter = null;
try
{
string Con = @"Provider=Microsoft.ACE.OLEDB.12.0;" +
@"Data Source=" + filename + ";" +
@"Extended Properties=" + Convert.ToChar(34).ToString() +
@"Excel 12.0;" + "Imex=1;" + "HDR=Yes;" + Convert.ToChar(34).ToString() ;
oleConn = new OleDbConnection(Con);
oleConn.Open();
OleDbCommand oleCmdSelect = new OleDbCommand();
oleCmdSelect = new OleDbCommand(
@"SELECT * FROM ["
+ SheetName
+ "$" + "]", oleConn);
oleAdapter = new OleDbDataAdapter();
oleAdapter.SelectCommand = oleCmdSelect;
System.Data.DataTable dt = new System.Data.DataTable(outTableName);
oleAdapter.FillSchema(dt, SchemaType.Source);
oleAdapter.Fill(dt);
oleCmdSelect.Dispose();
oleCmdSelect = null;
oleAdapter.Dispose();
oleAdapter = null;
oleConn.Dispose();
oleConn = null;
return dt;
}
}