码迷,mamicode.com
首页 > 数据库 > 详细

powershell excel 导入 sqlserver

时间:2015-11-13 13:07:24      阅读:371      评论:0      收藏:0      [点我收藏+]

标签:

powershell excel 导入 sqlserver 更新 多表导入,这之前基础上稍加改动。

 

cls

$SqlConnection = New-Object System.Data.SqlClient.SqlConnection     #聲明一個SqlConnection對象
$SqlConnection.ConnectionString = "Server=192.168.1.1;Database=sa;user=sa;pwd=123"    #指明SqlConnection對象的連接字符串
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand    #聲明一個SqlCommand對象                                            
$SqlCmd.Connection = $SqlConnection
$excelApp = New-Object -COM Excel.Application
$file = (dir D:\express.xlsx).FullName
$book = $excelApp.Workbooks.Open($file)
$sheet = $book.Worksheets.Item(1)

        $SqlCmd.CommandText="
        INSERT INTO [AppData].[dbo].[ExpressCheckHeader]
               ([CheckId]
               ,[UpdateName]
               ,[UpdateTime]
               ,[HeaderStatus]
               ,[ExpressCompany])
         VALUES
               (‘$($sheet.Cells.Item(2,1).Value2)‘
               ,‘$($sheet.Cells.Item(2,2).Value2)‘
               ,‘$($sheet.Cells.Item(2,3).Value2)‘
               ,0
               ,‘$($sheet.Cells.Item(2,4).Value2)‘)"
              
    try{
        $SqlConnection.Open();
        $intRezult=$SqlCmd.ExecuteNonQuery();
        $SqlConnection.Close();
        $sheet.Cells.Item(2,9).Value2=‘表头导入成功!‘;
        "------------------------------------------------------"
        "表头导入成功!"
        "------------------------------------------------------"
    }
    catch
    {
        "表头保存失败!";
        "------------------------------------------------------"
        return;
    }           
           
$row = 5
$count=1 
while($true)
{
    if(!$sheet.Cells.Item($row,1).Value2)
    {
        break;
    } 
      $SqlCmd.CommandText=
      "INSERT INTO [AppData].[dbo].[ExpressCheckLine]
           ([CheckId]
           ,[SendDate]
           ,[ExpressID]
           ,[SendToAddress]
           ,[ExpContent]
           ,[ExpWeight]
           ,[ExpMoney]
           ,[Customer]
           ,[ExpStatus])
     VALUES
           (‘$($sheet.Cells.Item($row,1).Value2)‘
           ,‘$($sheet.Cells.Item($row,2).Value2)‘
           ,‘$($sheet.Cells.Item($row,3).Value2)‘
           ,‘$($sheet.Cells.Item($row,4).Value2)‘
           ,‘$($sheet.Cells.Item($row,5).Value2)‘
           ,$($sheet.Cells.Item($row,6).Value2)
           ,$($sheet.Cells.Item($row,7).Value2)
           ,‘$($sheet.Cells.Item($row,8).Value2)‘
           ,0)"
    
    try{
        $SqlConnection.Open();
        $intRezult=$SqlCmd.ExecuteNonQuery();
        $SqlConnection.Close();
        $sheet.Cells.Item($row,9).Value2=‘导入成功!‘;
        $count.toString()+‘ 条保存成功,条码号:‘+$($sheet.Cells.Item($row,3).Value2);
    }
    catch
    {
        $count.toString()+‘ 条保存失败,条码号:‘+$($sheet.Cells.Item($row,3).Value2);
    }
    $count++
    $row++
}
"------------------------------------------------------"
"导入操作完成!请查看导入EXCEL文件!"
"------------------------------------------------------"

$book.Save()
$book.Close()
$excelApp.Quit()
$book = $null
$sheet = $null
$excelApp = $null
[GC]::Collect()

 

powershell excel 导入 sqlserver

标签:

原文地址:http://www.cnblogs.com/xyzabc0004/p/4961815.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!