c#怎样将excel导入到Aaccess
如题~ --------------------编程问答-------------------- --------------------编程问答-------------------- http://topic.csdn.net/u/20080605/13/4709a848-ab4b-407a-b2bf-e1212a358c15.htmlhttp://blog.csdn.net/zjfei/archive/2010/03/19/5397429.aspx --------------------编程问答-------------------- public void ImportExcel(string fileName)
{
fileName = "e:\\工资模板.xls";
string excelStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";//execl 2003
//string excelStr = "Provider= Microsoft.Ace.OleDB.12.0;Data Source=" + fileName + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1'";//execl 2007以上(需要装个AccessDatabaseEngine引擎,网上找找)
DataSet ds = new DataSet();
using (System.Data.OleDb.OleDbConnection cn = new OleDbConnection(excelStr))
{
using (OleDbDataAdapter dr = new OleDbDataAdapter("SELECT * FROM [sheet1$]", excelStr))
{
dr.Fill(ds);
}
}
//插入到数据库
} --------------------编程问答-------------------- --------------------编程问答-------------------- access可以直接导入EXCEL的,为什么要在C#里面转个圈?不明白.. --------------------编程问答--------------------
人家可能是想用编程实现。Access确实可以直接导入Excel中的数据,但是对于不规范的数据时不能这么弄的。
Excel可以看多OLEDB数据库,可以用ADO.NET访问和操作。 --------------------编程问答-------------------- private void btnSelect_Click(object sender, EventArgs e)
{
string m_FileName = "";
string m_Sql = "select * FROM [Sheet1$]";
OpenFileDialog myOpenFile = new OpenFileDialog();
myOpenFile.InitialDirectory = "c:\\";
myOpenFile.Filter = "Excel文件(*.xls;*.xlsx)|*.xls;*.xlsx";
myOpenFile.RestoreDirectory = true;
myOpenFile.FilterIndex = 1;
if (myOpenFile.ShowDialog() == DialogResult.OK)
{
m_FileName = myOpenFile.FileName;
textBoxFileName.Text = m_FileName;
}
else
{
textBoxFileName.Text = "";
return;
}
myDataTable.Clear();
myDataTable = PubPara.ExcelToDataTable(m_FileName, m_Sql);
if (myDataTable == null) return;
dataGridViewArticle.DataSource = myDataTable;
dataGridViewArticle.RowHeadersWidth = 25;
dataGridViewArticle.Columns[2].Width = 200;
dataGridViewArticle.Columns[13].Width = 200;
}
补充:.NET技术 , C#