private void insertreadexcel(string id, string filepath)
{
try
{
#region 定义属性名称
string ComGUID = string.Empty;
string KeyWords = string.Empty;
string Data = string.Empty;
string ShipperName = string.Empty;
string ShipperAddress = string.Empty;
string ConsigneeName = string.Empty;
string ConsigneeAddress = string.Empty;
int Weight = 0;
string WeightUnit = string.Empty;
int WeightInKG = 0;
int Quantity = 0;
string QuantityUnit = string.Empty;
string Measure = string.Empty;
string MeasureUnit = string.Empty;
int PieceCount = 0;
string Details = string.Empty;
string PlaceOfReceipt = string.Empty;
string ForeignPortLading = string.Empty;
string USAPortUnlading = string.Empty;
string USADestinationPort = string.Empty;
string CarrierName = string.Empty;
string VesselName = string.Empty;
string VoyageNumber = string.Empty;
#endregion
ComGUID = id;
KeyWords = "";
#region 操作excel
OleDbConnection conn;
OleDbDataAdapter ds;
string sql = string.Empty;
string strConn = "Provider=\"Microsoft.Jet.OLEDB.4.0\";Data Source=\"" + filepath + "\";Extended Properties=\"Excel 8.0;IMEX=1\"";
conn = new OleDbConnection(strConn);
try
{
conn.Open();
}
catch (Exception ex)
{
Tools.Log.WriteLog("excel连接失败!", ex.ToString());
t.Abort();
}
DataTable dtexcel = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
if (dtexcel.Rows.Count < 0)
{
this.LB.BeginInvoke(new showMsgDelegate(showMsg), "excel表里面没有数据!");
return;
}
string TableTile = string.Empty;
try
{
for (int t = 0; t < dtexcel.Rows.Count; t++)
{
if (dtexcel.Rows[t]["TABLE_NAME"].ToString() == "bullet$")
{
TableTile = dtexcel.Rows[t]["TABLE_NAME"].ToString();
break;
}
continue;
}
}
catch (Exception ex)
{
Tools.Log.WriteLog("获取表数据时出错。", ex.ToString());
return;
}
sql = "select * from [" + TableTile + "A:U]";
ds = new OleDbDataAdapter(sql, strConn);
DataTable dtconn = new DataTable();
dtconn.TableName = "productexcel";
ds.Fill(dtconn);
#region 产品出口信息
if (dtconn != null && dtconn.Rows.Count > 0)
{
foreach (DataRow dr in dtconn.Rows)
{
Data = dr["Date"].ToString();
ShipperName = dr["Shipper Name"].ToString().Replace("'", "'");
ShipperAddress = dr["Shipper Address"].ToString().Replace("'", "'");
ConsigneeName = dr["Consignee Name"].ToString().Replace("'", "'");
ConsigneeAddress = dr["Consignee Address"].ToString().Replace("'", "'");
if (!string.IsNullOrEmpty(dr["Weight"].ToString()))
{
Weight = int.Parse(dr["Weight"].ToString());
}
WeightUnit = dr["Weight Unit"].ToString();
if (!string.IsNullOrEmpty(dr["Weight in KG"].ToString()))
{
WeightInKG = int.Parse(dr["Weight in KG"].ToString());
}
if (!string.IsNullOrEmpty(dr["Quantity"].ToString()))
Quantity = int.Parse(dr["Quantity"].ToString());
QuantityUnit = dr["Quantity Unit"].ToString().Replace("'", "'");
Measure = dr["Measure"].ToString().Replace("'", "'");
MeasureUnit = dr["Measure Unit"].ToString().Replace("'", "'");
if (!string.IsNullOrEmpty(dr["Piececount"].ToString()))
PieceCount = int.Parse(dr["Piececount"].ToString());
Details = dr["Details"].ToString().Replace("'", "'");
PlaceOfReceipt = dr["Place of Receipt"].ToString().Replace("'", "'");
ForeignPortLading = dr["Foreign Port of Lading"].ToString().Replace("'", "'");
USAPortUnlading = dr["U#S# Port of Unlading"].ToString().Replace("'", "'");
USADestinationPort = dr["U#S# Destination Port"].ToString().Replace("'", "'");
CarrierName = dr["Carrier Name"].ToString().Replace("'", "'");
VesselName = dr["Vessel Name"].ToString().Replace("'", "'");
VoyageNumber = dr["Voyage Number"].ToString().Replace("'", "'");
string addsql = string.Format(@"INSERT INTO [AutopartooFactory].[dbo].[CustomsData]
([ComGUID],[KeyWords],[Data] ,[ShipperName],[ShipperAddress],[ConsigneeName],[ConsigneeAddress],[Weight] ,[WeightUnit],[WeightInKG],[Quantity],[QuantityUnit],[Measure],[MeasureUnit],[PieceCount] ,[Details] ,[PlaceOfReceipt],[ForeignPortLading] ,[USAPortUnlading],[USADestinationPort],[CarrierName] ,[VesselName] ,[VoyageNumber])
VALUES('{0}','{1}' ,'{2}','{3}' ,'{4}' ,'{5}' ,'{6}' ,{7} ,'{8}' ,{9},{10} ,'{11}','{12}','{13}' ,{14},'{15}' ,'{16}','{17}' ,'{18}' ,'{19}' ,'{20}','{21}','{22}')",
ComGUID, KeyWords, Data, ShipperName, ShipperAddress, ConsigneeName, ConsigneeAddress, Weight, WeightUnit, WeightInKG, Quantity, QuantityUnit, Measure, MeasureUnit, PieceCount, Details, PlaceOfReceipt, ForeignPortLading, USAPortUnlading, USADestinationPort, CarrierName, VesselName, VoyageNumber);
int b = DBUtility.SqlHelper.ExecuteNonQuery(Conn, CommandType.Text, addsql);
if (b > 0)
{
this.LB.BeginInvoke(new showMsgDelegate(showMsg), "Excel数据分析成功!Excel:" + ComGUID + "_" + KeyWords);
}
else
{
this.LB.BeginInvoke(new showMsgDelegate(showMsg), "Excel数据分析失败!Excel:" + ComGUID + "_" + KeyWords);
}
}
}
#endregion
#endregion
}
catch (Exception ex)
{
this.LB.BeginInvoke(new showMsgDelegate(showMsg), "Excel数据分析失败!Excel:" + filepath);
Tools.Log.WriteLog("Excel数据分析失败!Excel:" + filepath, ex.Message);
t.Abort();
}
}
c#读取excel文件
最新推荐文章于 2024-08-06 16:03:59 发布