using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Reflection;
using System.Windows.Controls;
using Excel;
using WpfDemo1.model;
using Application = Excel.Application;
namespace llj.utils
{
/// <summary>
/// 操作excel工具
/// </summary>
class ImportExcelDBUtil
{
//可以定义泛型,
static List<MediClass> medicine = new List<MediClass>();
/// <summary>
/// 读取excel导入到数据库
/// </summary>
/// <param name="excelFile">所导excel路径</param>
/// <param name="sheetName">excel表excel格Sheet1名称</param>
/// <param name="connectionString">数据库信息</param>
/// <param name="tableName">数据库表</param>
public static void TransferData(string excelFile, string sheetName, string connectionString,string tableName)
{
DataSet ds = new DataSet();
try
{
//获取全部数据
string strConn = "Provider = Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + excelFile + ";" + "Extended Properties = Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
OleDbDataAdapter myCommand = null;
strExcel = string.Format("select * from [{0}$]", sheetName);
myCommand = new OleDbDataAdapter(strExcel, strConn);
myCommand.Fill(ds, sheetName);
//如果目标表不存在则创建,excel文件的第一行为列标题,从第二行开始全部都是数据记录
//string strSql = string.Format("if not exists(select * from sysobjects where name = '{0}') create table {0}(", sheetName); //以sheetName为表名
string strSql = string.Format("if not exists(select * from sysobjects where name = '{0}') create table {0}(", tableName);
/* 是这里循环三次吗?*/
foreach (System.Data.DataColumn c in ds.Tables[0].Columns)
{
strSql += string.Format("[{0}] varchar(255),", c.ColumnName);
//strSql += string.Format("[e