操作方法吧excel当成数据库就行了。sheet就是表!然后写sql 语句,create table ..insert into ,update ,select ..whaterver..
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using System.Data;
using System.IO;
namespace Utils
{
public class OLEDBExcelHelper
{
public static void ExcuteNonQuery(string filePath, string sql)
{
using(OleDbConnection conn = new OleDbConnection(GetConnectionString(filePath)));
{
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandText = sql;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
}
public static void BatchExcuteNonQuery(string filePath, IList<string> sqlList)
{
using (OleDbConnection conn = new OleDbConnection(GetConnectionString(filePath)))
{
OleDbCommand cmd = conn.CreateCommand();
conn.Open();
foreach (var sql in sqlList)
{
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
}
}
}
public static string GetConnectionString(string filePath)
{
if (filePath.EndsWith(".xls"))
return string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};"
+ "Extended Properties='Excel 8.0;HDR=Yes;IMEX=2';", filePath);
if (filePath.EndsWith(".xlsx"))
return string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};"
+ "Extended Properties='Excel 12.0 Xml;HDR=YES';", filePath);
throw new Exception("wrong file type!");
}
public static DataTable ExcuteSelect(string filePath, string sql)
{
using(OleDbConnection conn = new OleDbConnection(GetConnectionString(filePath)));
{
OleDbDataAdapter ad = new OleDbDataAdapter(sql, conn);
DataTable table = new DataTable();
conn.Open();
ad.Fill(table);
return table;
}
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using System.Data;
using System.IO;
namespace Utils
{
public class OLEDBExcelHelper
{
public static void ExcuteNonQuery(string filePath, string sql)
{
using(OleDbConnection conn = new OleDbConnection(GetConnectionString(filePath)));
{
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandText = sql;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
}
public static void BatchExcuteNonQuery(string filePath, IList<string> sqlList)
{
using (OleDbConnection conn = new OleDbConnection(GetConnectionString(filePath)))
{
OleDbCommand cmd = conn.CreateCommand();
conn.Open();
foreach (var sql in sqlList)
{
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
}
}
}
public static string GetConnectionString(string filePath)
{
if (filePath.EndsWith(".xls"))
return string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};"
+ "Extended Properties='Excel 8.0;HDR=Yes;IMEX=2';", filePath);
if (filePath.EndsWith(".xlsx"))
return string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};"
+ "Extended Properties='Excel 12.0 Xml;HDR=YES';", filePath);
throw new Exception("wrong file type!");
}
public static DataTable ExcuteSelect(string filePath, string sql)
{
using(OleDbConnection conn = new OleDbConnection(GetConnectionString(filePath)));
{
OleDbDataAdapter ad = new OleDbDataAdapter(sql, conn);
DataTable table = new DataTable();
conn.Open();
ad.Fill(table);
return table;
}
}
}
}