码迷,mamicode.com
首页 > 数据库 > 详细

C#读取Excel导入到数据库及读取Excel工作表为任意表名的方法

时间:2014-12-02 19:12:45      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:io   ar   os   on   文件   数据   log   bs   cti   

添加openFileDialog1,用于选择Excel表

using System.IO;
using System.Data.OleDb;

//导入Excel表
private void btnInto_Click(object sender, EventArgs e)
{

string resultFile = "";
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "表格文件(*.xls,*.xlsx)|*.xls;*.xlsx";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
resultFile = openFileDialog1.FileName;

GetExcel(resultFile);

}
}
/// <summary>
/// 获取Excel表格内容
/// </summary>
/// <param name="fileName">Excel表名字</param>
private void GetExcel(string fileName)
{

根据表名创建链接字符串
string excelStr = "Provider= Microsoft.Ace.OleDB.12.0;Data Source=" + fileName + ";Extended Properties=‘Excel 12.0;HDR=YES;IMEX=1‘";

string strSheetName = GetExcelFirstTableName(fileName);//获取第一个工作表名字
if (strSheetName!=null)
{

DataTable dt = new DataTable();

using (System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter("select * from[" + strSheetName + "]", excelStr))
{
try
{
myCommand.Fill(dt);

}
catch (Exception ex)
{

MessageBox.Show("操作失败" + ex.Message);
}

}
dgvShow.DataSource = dt;


}
else
{
MessageBox.Show("这是张空表!");
}

}


/// <summary>
/// 获取excel第一个工作表名字
/// </summary>
/// <param name="excelFileName">Excel表名字</param>
/// <returns></returns>
public static string GetExcelFirstTableName(string excelFileName)
{
string tableName = null;
if (File.Exists(excelFileName))
{
string excelStr = "Provider= Microsoft.Ace.OleDB.12.0;Data Source=" + excelFileName + ";Extended Properties=‘Excel 12.0;HDR=YES;IMEX=1‘";
using (OleDbConnection conn = new OleDbConnection(excelStr))
{
conn.Open();
DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);//获取table内容
tableName = dt.Rows[0][2].ToString().Trim();
}
}
return tableName;
}

C#读取Excel导入到数据库及读取Excel工作表为任意表名的方法

标签:io   ar   os   on   文件   数据   log   bs   cti   

原文地址:http://www.cnblogs.com/zilinyufeng/p/4138141.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!