读取Excel内容,导入数据库多张表!
2007-08-05 08:43
549 查看
客户要求用Excel记录联系人资料,并导入数据库,找了个第3方Wizard控件做了个小功能。
Excel每一个sheet为一个企业名,为了避免麻烦,一次性导入所有联系人。
同一企业下的相同姓名,相同手机号的为同一个联系人,就不导入。
Excel表中,有些字段不在同一张表:“部门”、“职务”。判断部门和职务是否存在,若不存在添加到部门和职务表,返回ID。
几次测试,取手机号等字段出错,原来要把Excel单元格格式设为文本。
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
/**//* Author : Magicam
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
* Date : 1 August 2007
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
* e-mail : wx_magicam@sina.com
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
*/
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Collections.Generic;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.ComponentModel;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Data;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Drawing;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Text;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Windows.Forms;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Data.SqlClient;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Data.OleDb;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using CristiPotlog.Controls;//引用第3方向导式控件
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Configuration;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
namespace Excel
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public partial class ExcelForm : Form
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public ExcelForm()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
InitializeComponent();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public static readonly string ConnectionString = ConfigurationManager.ConnectionStrings[ "DataConnectionString" ].ConnectionString;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/Contracte<br/>1e92c<br/>dSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 完成按钮
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// <param name="sender"></param>
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// <param name="e"></param>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void wizard1_Finish( object sender, EventArgs e )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MessageBox.Show( "导入成功!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information );
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void wizard1_Cancel( object sender, CancelEventArgs e )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
bool isTaskRunning = this.timer1.Enabled;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer1.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ( MessageBox.Show( "确定退出吗?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question ) != DialogResult.Yes )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
e.Cancel = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer1.Enabled = isTaskRunning;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// time控件
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// <param name="sender"></param>
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// <param name="e"></param>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void timer1_Tick( object sender, EventArgs e )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ( this.progressBar1.Value == this.progressBar1.Maximum )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer1.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.wizard1.Next();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.progressBar1.PerformStep();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 选择Excel按钮
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// <param name="sender"></param>
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// <param name="e"></param>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void btnChooseExcel_Click( object sender, EventArgs e )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
OpenFileDialog openFileDialog = new OpenFileDialog();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
openFileDialog.Filter = "Microsoft Excel 文件(*.xls)|*.xls";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
openFileDialog.Title = "选择Excel文件";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ( DialogResult.Cancel == openFileDialog.ShowDialog())
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string ExcelPath = openFileDialog.FileName;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
txtExcelPath.Text = ExcelPath;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string ConnectionExcel = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + ExcelPath + ";" + "Extended Properties=Excel 8.0;";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
OleDbConnection conn = new OleDbConnection( ConnectionExcel );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
conn.Open();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable( System.Data.OleDb.OleDbSchemaGuid.Tables, null );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dataGridView1.Rows.Clear();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dataGridView1.Columns.Clear();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//定义dataGridView第一列
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dataGridView1.RowHeadersVisible = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
DataGridViewTextBoxColumn textColumn = new DataGridViewTextBoxColumn();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
textColumn.HeaderText = "工作表";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dataGridView1.Columns.Insert( 0, textColumn );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//定义dataGridView第二列
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
DataGridViewComboBoxColumn comboColumn = new DataGridViewComboBoxColumn();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
comboColumn.HeaderText = "选择企业";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
comboColumn.AutoComplete = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dataGridView1.Columns.Insert( 1, comboColumn );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlConnection con = new SqlConnection( ConnectionString );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
con.Open();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for( int i = 0; i < schemaTable.Rows.Count; i++ )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//取出Excel工作表名导入dataGridView第一列
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
string tableName = schemaTable.Rows[ i ][ 2 ].ToString().Trim( new char[]
![](http://www.cnblogs.com/Images/dot.gif)
{ '$', '/'' } );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dataGridView1.Rows.Add();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dataGridView1.Rows[ i ].Cells[ 0 ].Value = tableName;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
OnInitComboBox( i );
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void OnInitComboBox( int row )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//第二列根据第一列做模糊查询,供用户选择企业名
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlConnection con = new SqlConnection( ConnectionString );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
con.Open();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlDataAdapter sda = new SqlDataAdapter();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
DataSet ds = new DataSet();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string name = dataGridView1.Rows[ row ].Cells[ 0 ].Value.ToString();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string str = "select id, name from enterprise where name like '%" + name + "%'";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
sda.SelectCommand = new SqlCommand( str, con );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
sda.Fill( ds, "enterprise" );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
(( DataGridViewComboBoxCell )( dataGridView1.Rows[ row ].Cells[ 1 ] )).DataSource = ds.Tables[ 0 ].DefaultView;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
(( DataGridViewComboBoxCell )( dataGridView1.Rows[ row ].Cells[ 1 ] )).ValueMember = "id";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
(( DataGridViewComboBoxCell )( dataGridView1.Rows[ row ].Cells[ 1 ] )).DisplayMember = "name";
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void wizard1_BeforeSwitchPages( object sender, Wizard.BeforeSwitchPagesEventArgs e )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
WizardPage oldPage = this.wizard1.Pages[ e.OldIndex ];
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ( oldPage == this.ChooseExcelPage && e.NewIndex > e.OldIndex )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ( txtExcelPath.Text == "" )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MessageBox.Show( "请选择一个Excel文件!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
e.Cancel = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if( oldPage == this.ChooseEnterprisePage && e.NewIndex > e.OldIndex )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlConnection con = new SqlConnection( ConnectionString );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
con.Open();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for( int i = 0; i<dataGridView1.Rows.Count; i++ )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if( dataGridView1.Rows[ i ].Cells[ 1 ].Value == null )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MessageBox.Show( "请选择企业!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
e.Cancel = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if( oldPage == this.ProgressPage && e.NewIndex > e.OldIndex )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//导入数据库
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for( int i = 0; i<dataGridView1.Rows.Count; i++ )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//读取Excel内容到table
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
DataSet DataSet = ReadExcelToTable( i );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for( int j = 0; j<DataSet.Tables[ 0 ].Rows.Count; j++ )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlConnection con = new SqlConnection( ConnectionString );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
con.Open();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlTransaction transaction;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
transaction = con.BeginTransaction();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
try
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//判断联系人是否重复,若重复跳出循环,不添加
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string LinkmanName = DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 0 ].ToString();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string LinkmanMobile = DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 3 ].ToString();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlCommand selectLinkmanName = new SqlCommand();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
selectLinkmanName.Connection = con;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
selectLinkmanName.CommandText = "select count( * ) from linkman where enterpriseid='" + dataGridView1.Rows[i].Cells[1].Value.ToString() + "'and name='" + LinkmanName + "' and mobile='" + LinkmanMobile + "'";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
selectLinkmanName.Transaction = transaction;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
int LinkmanCount = Convert.ToInt32( selectLinkmanName.ExecuteScalar());
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if( LinkmanCount > 0 )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
continue;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//判断是否存在该部门,不存在添加
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
int departmentID = ExistDepartment( con, DataSet, j, transaction );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//判断是否存在该职务,不存在添加
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
int dutyID = ExistDuty( con, DataSet, j, transaction );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//导入数据库
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
InsertTOSql( con, i, DataSet, j, departmentID, dutyID, transaction );
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
catch( Exception e1 )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
transaction.Rollback();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
finally
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
transaction.Commit();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
con.Close();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void InsertTOSql( SqlConnection con, int i, DataSet DataSet, int j, int departmentID, int dutyID, SqlTransaction transaction )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlCommand insertToSql = new SqlCommand();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertToSql.Connection = con;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertToSql.CommandText = @"insert into linkman( enterpriseID, name, departmentID, dutyID, mobile, phone, email, fax, IsLinkman )
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
values( " + dataGridView1.Rows[ i ].Cells[ 1 ].Value.ToString() + ", '" + DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 0 ].ToString() + "', " + departmentID + ", "
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
+ dutyID + ", '" + DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 3 ].ToString() + "', '" + DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 4 ].ToString() + "', '" +
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 5 ].ToString() + "', '" + DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 6 ].ToString() + "', 1 )";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertToSql.Transaction = transaction;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertToSql.ExecuteNonQuery();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private static int ExistDuty( SqlConnection con, DataSet DataSet, int j, SqlTransaction transaction )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlCommand selectDuty = new SqlCommand();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
selectDuty.Connection = con;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
selectDuty.CommandText = "select id from duty where name ='" + DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 2 ].ToString() + "'";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
selectDuty.Transaction = transaction;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
int dutyID = Convert.ToInt32( selectDuty.ExecuteScalar());
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ( dutyID == 0 )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlCommand insertDuty = new SqlCommand();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertDuty.Connection = con;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertDuty.CommandText = "insert into duty( name ) values( '" + DataSet.Tables[0].Rows[ j ].ItemArray[ 2 ].ToString() + "')";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertDuty.Transaction = transaction;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertDuty.ExecuteNonQuery();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dutyID = GetID( con, transaction );
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return dutyID;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private static int ExistDepartment( SqlConnection con, DataSet DataSet, int j, SqlTransaction transaction )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlCommand selectDepartment = new SqlCommand();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
selectDepartment.Connection = con;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
selectDepartment.CommandText = "select id from department where name = '" + DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 1 ].ToString() + "'";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
selectDepartment.Transaction = transaction;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
int departmentID = Convert.ToInt32( selectDepartment.ExecuteScalar());
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ( departmentID == 0 )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlCommand insertDepartment = new SqlCommand();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertDepartment.Connection = con;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertDepartment.CommandText = "insert into department( name ) values( '" + DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 1 ].ToString() + "' )";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertDepartment.Transaction = transaction;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertDepartment.ExecuteNonQuery();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
departmentID = GetID( con, transaction );
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return departmentID;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private static int GetID( SqlConnection con, SqlTransaction transaction )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string sql = "select @@identity";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlCommand command = new SqlCommand( sql, con );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
command.Transaction = transaction;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return Convert.ToInt32( command.ExecuteScalar());
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private DataSet ReadExcelToTable( int i )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string ConnectionExcel = "Provider=Microsoft.Jet.Oledb.4.0;Data Source='" + txtExcelPath.Text + "';Extended Properties=Excel 8.0";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
OleDbConnection connection = new OleDbConnection( ConnectionExcel );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
OleDbDataAdapter adp = new OleDbDataAdapter( "Select * from [" + dataGridView1.Rows[ i ].Cells[ 0 ].Value.ToString() + "$]", connection );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
DataSet DataSet = new DataSet();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
adp.Fill( DataSet, "Book1" );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return DataSet;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void wizard1_AfterSwitchPages( object sender, Wizard.AfterSwitchPagesEventArgs e )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
WizardPage newPage = this.wizard1.Pages[ e.NewIndex ];
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if( newPage == this.ChooseExcelPage )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.wizard1.NextEnabled = this.ChooseEnterprisePage.Enabled;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if( newPage == this.ChooseEnterprisePage )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.wizard1.NextEnabled = this.ProgressPage.Enabled;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if( newPage == this.ProgressPage)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.wizard1.BackEnabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.wizard1.NextEnabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.progressBar1.Value = this.progressBar1.Minimum;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer1.Enabled = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
Excel每一个sheet为一个企业名,为了避免麻烦,一次性导入所有联系人。
同一企业下的相同姓名,相同手机号的为同一个联系人,就不导入。
Excel表中,有些字段不在同一张表:“部门”、“职务”。判断部门和职务是否存在,若不存在添加到部门和职务表,返回ID。
几次测试,取手机号等字段出错,原来要把Excel单元格格式设为文本。
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
/**//* Author : Magicam
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
* Date : 1 August 2007
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
* e-mail : wx_magicam@sina.com
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
*/
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Collections.Generic;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.ComponentModel;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Data;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Drawing;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Text;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Windows.Forms;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Data.SqlClient;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Data.OleDb;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using CristiPotlog.Controls;//引用第3方向导式控件
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Configuration;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
namespace Excel
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public partial class ExcelForm : Form
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public ExcelForm()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
InitializeComponent();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public static readonly string ConnectionString = ConfigurationManager.ConnectionStrings[ "DataConnectionString" ].ConnectionString;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/Contracte<br/>1e92c<br/>dSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 完成按钮
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// <param name="sender"></param>
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// <param name="e"></param>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void wizard1_Finish( object sender, EventArgs e )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MessageBox.Show( "导入成功!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information );
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void wizard1_Cancel( object sender, CancelEventArgs e )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
bool isTaskRunning = this.timer1.Enabled;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer1.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ( MessageBox.Show( "确定退出吗?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question ) != DialogResult.Yes )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
e.Cancel = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer1.Enabled = isTaskRunning;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// time控件
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// <param name="sender"></param>
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// <param name="e"></param>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void timer1_Tick( object sender, EventArgs e )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ( this.progressBar1.Value == this.progressBar1.Maximum )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer1.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.wizard1.Next();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.progressBar1.PerformStep();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 选择Excel按钮
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// <param name="sender"></param>
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// <param name="e"></param>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void btnChooseExcel_Click( object sender, EventArgs e )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
OpenFileDialog openFileDialog = new OpenFileDialog();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
openFileDialog.Filter = "Microsoft Excel 文件(*.xls)|*.xls";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
openFileDialog.Title = "选择Excel文件";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ( DialogResult.Cancel == openFileDialog.ShowDialog())
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string ExcelPath = openFileDialog.FileName;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
txtExcelPath.Text = ExcelPath;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string ConnectionExcel = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + ExcelPath + ";" + "Extended Properties=Excel 8.0;";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
OleDbConnection conn = new OleDbConnection( ConnectionExcel );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
conn.Open();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable( System.Data.OleDb.OleDbSchemaGuid.Tables, null );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dataGridView1.Rows.Clear();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dataGridView1.Columns.Clear();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//定义dataGridView第一列
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dataGridView1.RowHeadersVisible = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
DataGridViewTextBoxColumn textColumn = new DataGridViewTextBoxColumn();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
textColumn.HeaderText = "工作表";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dataGridView1.Columns.Insert( 0, textColumn );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//定义dataGridView第二列
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
DataGridViewComboBoxColumn comboColumn = new DataGridViewComboBoxColumn();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
comboColumn.HeaderText = "选择企业";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
comboColumn.AutoComplete = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dataGridView1.Columns.Insert( 1, comboColumn );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlConnection con = new SqlConnection( ConnectionString );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
con.Open();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for( int i = 0; i < schemaTable.Rows.Count; i++ )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//取出Excel工作表名导入dataGridView第一列
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
string tableName = schemaTable.Rows[ i ][ 2 ].ToString().Trim( new char[]
![](http://www.cnblogs.com/Images/dot.gif)
{ '$', '/'' } );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dataGridView1.Rows.Add();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dataGridView1.Rows[ i ].Cells[ 0 ].Value = tableName;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
OnInitComboBox( i );
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void OnInitComboBox( int row )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//第二列根据第一列做模糊查询,供用户选择企业名
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlConnection con = new SqlConnection( ConnectionString );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
con.Open();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlDataAdapter sda = new SqlDataAdapter();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
DataSet ds = new DataSet();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string name = dataGridView1.Rows[ row ].Cells[ 0 ].Value.ToString();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string str = "select id, name from enterprise where name like '%" + name + "%'";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
sda.SelectCommand = new SqlCommand( str, con );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
sda.Fill( ds, "enterprise" );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
(( DataGridViewComboBoxCell )( dataGridView1.Rows[ row ].Cells[ 1 ] )).DataSource = ds.Tables[ 0 ].DefaultView;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
(( DataGridViewComboBoxCell )( dataGridView1.Rows[ row ].Cells[ 1 ] )).ValueMember = "id";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
(( DataGridViewComboBoxCell )( dataGridView1.Rows[ row ].Cells[ 1 ] )).DisplayMember = "name";
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void wizard1_BeforeSwitchPages( object sender, Wizard.BeforeSwitchPagesEventArgs e )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
WizardPage oldPage = this.wizard1.Pages[ e.OldIndex ];
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ( oldPage == this.ChooseExcelPage && e.NewIndex > e.OldIndex )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ( txtExcelPath.Text == "" )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MessageBox.Show( "请选择一个Excel文件!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
e.Cancel = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if( oldPage == this.ChooseEnterprisePage && e.NewIndex > e.OldIndex )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlConnection con = new SqlConnection( ConnectionString );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
con.Open();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for( int i = 0; i<dataGridView1.Rows.Count; i++ )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if( dataGridView1.Rows[ i ].Cells[ 1 ].Value == null )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MessageBox.Show( "请选择企业!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
e.Cancel = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if( oldPage == this.ProgressPage && e.NewIndex > e.OldIndex )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//导入数据库
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for( int i = 0; i<dataGridView1.Rows.Count; i++ )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//读取Excel内容到table
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
DataSet DataSet = ReadExcelToTable( i );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for( int j = 0; j<DataSet.Tables[ 0 ].Rows.Count; j++ )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlConnection con = new SqlConnection( ConnectionString );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
con.Open();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlTransaction transaction;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
transaction = con.BeginTransaction();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
try
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//判断联系人是否重复,若重复跳出循环,不添加
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string LinkmanName = DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 0 ].ToString();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string LinkmanMobile = DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 3 ].ToString();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlCommand selectLinkmanName = new SqlCommand();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
selectLinkmanName.Connection = con;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
selectLinkmanName.CommandText = "select count( * ) from linkman where enterpriseid='" + dataGridView1.Rows[i].Cells[1].Value.ToString() + "'and name='" + LinkmanName + "' and mobile='" + LinkmanMobile + "'";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
selectLinkmanName.Transaction = transaction;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
int LinkmanCount = Convert.ToInt32( selectLinkmanName.ExecuteScalar());
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if( LinkmanCount > 0 )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
continue;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//判断是否存在该部门,不存在添加
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
int departmentID = ExistDepartment( con, DataSet, j, transaction );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//判断是否存在该职务,不存在添加
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
int dutyID = ExistDuty( con, DataSet, j, transaction );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//导入数据库
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
InsertTOSql( con, i, DataSet, j, departmentID, dutyID, transaction );
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
catch( Exception e1 )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
transaction.Rollback();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
finally
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
transaction.Commit();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
con.Close();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void InsertTOSql( SqlConnection con, int i, DataSet DataSet, int j, int departmentID, int dutyID, SqlTransaction transaction )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlCommand insertToSql = new SqlCommand();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertToSql.Connection = con;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertToSql.CommandText = @"insert into linkman( enterpriseID, name, departmentID, dutyID, mobile, phone, email, fax, IsLinkman )
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
values( " + dataGridView1.Rows[ i ].Cells[ 1 ].Value.ToString() + ", '" + DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 0 ].ToString() + "', " + departmentID + ", "
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
+ dutyID + ", '" + DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 3 ].ToString() + "', '" + DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 4 ].ToString() + "', '" +
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 5 ].ToString() + "', '" + DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 6 ].ToString() + "', 1 )";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertToSql.Transaction = transaction;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertToSql.ExecuteNonQuery();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private static int ExistDuty( SqlConnection con, DataSet DataSet, int j, SqlTransaction transaction )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlCommand selectDuty = new SqlCommand();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
selectDuty.Connection = con;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
selectDuty.CommandText = "select id from duty where name ='" + DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 2 ].ToString() + "'";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
selectDuty.Transaction = transaction;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
int dutyID = Convert.ToInt32( selectDuty.ExecuteScalar());
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ( dutyID == 0 )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlCommand insertDuty = new SqlCommand();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertDuty.Connection = con;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertDuty.CommandText = "insert into duty( name ) values( '" + DataSet.Tables[0].Rows[ j ].ItemArray[ 2 ].ToString() + "')";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertDuty.Transaction = transaction;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertDuty.ExecuteNonQuery();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dutyID = GetID( con, transaction );
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return dutyID;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private static int ExistDepartment( SqlConnection con, DataSet DataSet, int j, SqlTransaction transaction )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlCommand selectDepartment = new SqlCommand();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
selectDepartment.Connection = con;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
selectDepartment.CommandText = "select id from department where name = '" + DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 1 ].ToString() + "'";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
selectDepartment.Transaction = transaction;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
int departmentID = Convert.ToInt32( selectDepartment.ExecuteScalar());
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ( departmentID == 0 )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlCommand insertDepartment = new SqlCommand();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertDepartment.Connection = con;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertDepartment.CommandText = "insert into department( name ) values( '" + DataSet.Tables[ 0 ].Rows[ j ].ItemArray[ 1 ].ToString() + "' )";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertDepartment.Transaction = transaction;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
insertDepartment.ExecuteNonQuery();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
departmentID = GetID( con, transaction );
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return departmentID;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private static int GetID( SqlConnection con, SqlTransaction transaction )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string sql = "select @@identity";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlCommand command = new SqlCommand( sql, con );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
command.Transaction = transaction;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return Convert.ToInt32( command.ExecuteScalar());
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private DataSet ReadExcelToTable( int i )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string ConnectionExcel = "Provider=Microsoft.Jet.Oledb.4.0;Data Source='" + txtExcelPath.Text + "';Extended Properties=Excel 8.0";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
OleDbConnection connection = new OleDbConnection( ConnectionExcel );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
OleDbDataAdapter adp = new OleDbDataAdapter( "Select * from [" + dataGridView1.Rows[ i ].Cells[ 0 ].Value.ToString() + "$]", connection );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
DataSet DataSet = new DataSet();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
adp.Fill( DataSet, "Book1" );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return DataSet;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void wizard1_AfterSwitchPages( object sender, Wizard.AfterSwitchPagesEventArgs e )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
WizardPage newPage = this.wizard1.Pages[ e.NewIndex ];
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if( newPage == this.ChooseExcelPage )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.wizard1.NextEnabled = this.ChooseEnterprisePage.Enabled;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if( newPage == this.ChooseEnterprisePage )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.wizard1.NextEnabled = this.ProgressPage.Enabled;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if( newPage == this.ProgressPage)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.wizard1.BackEnabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.wizard1.NextEnabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.progressBar1.Value = this.progressBar1.Minimum;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer1.Enabled = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
相关文章推荐
- 从Excel读取数据导入到数据库中
- java下载excel导入excel读取excel数据,将数据插入数据库
- 数据导入,可以将txt文本文件或excel的内容导入到数据库
- 将Excel内容导入数据库(ASP.NET/C#)
- ASP.NET MVC4上传文件,并将excel内容导入数据库,导入后删除文件
- 怎么把上传的excel表内容导入到数据库
- PHPExcel读取excel并导入数据库
- springMVC 读取excel内容并写入数据库
- asp.net导入EXCEL内容文件到数据库
- PHP-Excel读取导入Excel数据到数据库(2003,2007通用)使用方法
- 小例子:java利用poi读取excel中数据并导入数据库
- Android_读取Excel_更改Excel内容,数据库保存数据
- Python 导入文件夹中所有excel并按列名读取插入数据库
- 从数据库读取数据导入到Excel中
- jxl读取excel实现导入excel写入数据库
- java导入excel数据内容存入数据库
- Drupal读取Excel并导入数据库实例
- Drupal读取Excel并导入数据库实例
- php excel reader读取excel内容存入数据库实现代码
- struts2将excel文件内容导入数据库 ----- POI