/// <summary>
/// 导入
/// </summary>
private void btn_In_Click(object sender, EventArgs e)
{
int i = DataTableToDB();
MessageBox.Show("成功导入" + i + "条商品信息!");
} /// <summary>
/// 获取后缀名为*.xlsx的文件
/// </summary>
public void GetFile()
{
System.IO.DirectoryInfo dir = new DirectoryInfo(VPath);
if (dir.Exists)//判读是否存在改文件
{
fiList = dir.GetFiles("*.xlsx"); //获取后缀名为*.xlsx的文件
}
} /// <summary>
/// Excel数据转化为DataTable
/// </summary>
/// <param name="strSheetName"></param>
/// <param name="strExcelFileName">文件路径</param>
/// <returns>返回DataTable</returns>
public DataTable ExcelToDataTable(string strExcelFileName, string strSheetName)
{
string strConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=NO;IMEX=1;'", strExcelFileName);
string strExcel = string.Format("select * from [{0}$]", strSheetName);
DataSet ds = new DataSet(); using (OleDbConnection conn = new OleDbConnection(strConn))
{
conn.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);
adapter.Fill(ds, strSheetName);
conn.Close();
} return ds.Tables[strSheetName];
} public int DataTableToDB()
{
GetFile();
int count = ;
string _strExcelFileName = "";
for (int i = ; i < fiList.Length; i++)
{
_strExcelFileName = dir + "\\" + fiList[i]; DataTable dtExcel = Global.g_objDb.ExcelToDataTable(_strExcelFileName, "Sheet1");
for (int j = ; j < dtExcel.Rows.Count; j++)
{
if ((ReturnSqlResultCount("select * from A where a1='" + dtExcel.Rows[j][].ToString() + "'")) > )
{
continue;
}
else
{
Global.g_objDb.InsertDataToAccess(dtExcel.Rows[j][].ToString(), dtExcel.Rows[j][].ToString(), dtExcel.Rows[j][].ToString(), dtExcel.Rows[j][].ToString(), dtExcel.Rows[j][].ToString(), dtExcel.Rows[j][].ToString(), dtExcel.Rows[j][].ToString(), dtExcel.Rows[j][].ToString()); count++;
}
}
} return count;
} String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Access_DataBase.mdb;Jet OLEDB:Database Password=123456"";  OleDbConnection Connection = new OleDbConnection(connectionString); /// <summary>
/// 执行一查询语句语句,同时返回bool值
/// </summary>
public bool InsertDataToAccess(string col1, string col2, string col3, string col4, string col5, string col6, string col7, string col8)
{
bool resultState = false; Connection.Open();
string strSQL = "insert into spdm(a,b,c,d,e,f,g,h) values('" + col1 + "','" + col1 + "','" + col1 + "','" + col1 + "','" + col1 + "','" + col1 + "','" + col1 + "','" + col1 + "')";
OleDbTransaction myTrans = Connection.BeginTransaction();
OleDbCommand command = new OleDbCommand(strSQL, Connection, myTrans); try
{
command.ExecuteNonQuery();
myTrans.Commit();
resultState = true;
}
catch
{
myTrans.Rollback();
resultState = false;
}
finally
{
Connection.Close();
}
return resultState;
} /// <summary>
/// 执行一查询语句,同时返回查询结果数目
/// </summary>
/// <param name="strSQL"></param>
/// <returns></returns>
public int ReturnSqlResultCount(string strSQL)
{
int sqlResultCount = ; try
{
Connection.Open();
OleDbCommand command = new OleDbCommand(strSQL, Connection);
OleDbDataReader dataReader = command.ExecuteReader(); while (dataReader.Read())
{
sqlResultCount++;
}
dataReader.Close();
}
catch
{
sqlResultCount = ;
}
finally
{
Connection.Close();
}
return sqlResultCount;
}

最新文章

  1. js获取屏幕宽高
  2. Google Map API V3开发(1)
  3. unrar.dll 使用实例
  4. Windows Desktop 调用 WinRT api
  5. 关于Android构建
  6. 慕课网-安卓工程师初养成-4-9 Java循环语句之 for
  7. C/C++中的&amp;&amp;和||运算符
  8. JSCover+WebDriver/Selenium获得JS 代码覆盖
  9. VR全景智慧城市:VR全景技术分析与研究
  10. Zookeeper和 Google Chubby对比分析
  11. 转载:python + requests实现的接口自动化框架详细教程
  12. .NET ThreadPool算法
  13. Cinema CodeForces - 670C (离散+排序)
  14. CentOS 6.5 升级内核
  15. Get package name
  16. bash 配置文件
  17. MyEclipse 配置Android环境
  18. [HAOI2015]树上操作(树链剖分,线段树)
  19. UVALive - 6887 Book Club 有向环的路径覆盖
  20. [洛谷P1029]最大公约数与最小公倍数问题 题解(辗转相除法求GCD)

热门文章

  1. Java 之 assert (断言)
  2. hdu 4644 BWT (kmp)
  3. Fragment嵌套Fragment时遇到的那些坑
  4. js如何实现页面跳转(大全)
  5. ITFriend创业败局(序):简要概述我的第一次创业经历
  6. XML 标准诞生 20 周年:这个世界,它无处不在
  7. 数组replaceObjectAtIndex
  8. Docker Redis 安装
  9. Docker for Linux 安装
  10. MATLAB Toolbox Path Cache is out of date and is not being used的解决