Monday, July 25, 2016

Power Shell convert from excel to csv

 $excelFile = "D:\Test\excelfile\file.xlsx"
    $E = New-Object -ComObject Excel.Application
    $E.Visible = $false
    $E.DisplayAlerts = $false

 $wb = $E.Workbooks.Open($excelFile)
    foreach ($ws in $wb.Worksheets)
    {
        $n = $excelFileName + "_" + $ws.Name
    }

   
Function ExportWSToCSV ($excelFileName, $csvLoc)
{
    $excelFile = "D:\Test\excelfile\" + $excelFileName + ".xlsx"
    $E = New-Object -ComObject Excel.Application
    $E.Visible = $false
    $E.DisplayAlerts = $false
    $wb = $E.Workbooks.Open($excelFile)
    foreach ($ws in $wb.Worksheets)
    {
        $n = $excelFileName + "_" + $ws.Name
        $ws.SaveAs($csvLoc + $n + ".csv", 6)
    }
    $E.Quit()
}
ExportWSToCSV -excelFileName "file" -csvLoc "D:\Test\csv file\"

stop-process -processname EXCEL

$ens = Get-ChildItem "D:\Test\excelfile\" -filter *.xlsx
foreach($e in $ens)
{
    ExportWSToCSV -excelFileName $e.BaseName -csvLoc "D:\Test\csv file\"
}

Tuesday, July 19, 2016

powershell send sharepoint site report to email


$enddate = (Get-Date).tostring("yyyyMMdd")
$filename = 'D:\report\' + $enddate + '_staffdocs.xml'
stsadm.exe -o enumsites -url https://abc.com  > "$filename"

$From = "mysite_report@abc.com"
$To = "ng_sin_peow@abc.com"
$Cc = "YourBoss@abc.com"
$Attachment = "$filename"
$Subject = "My Site Report (One Drive) "
$Body = "Report for my site , please open with excel"
$SMTPServer = "smtp.abc.com"
$SMTPPort = "25"
Send-MailMessage -From $From -to $To -Subject $Subject -Body $Body -SmtpServer $SMTPServer -port $SMTPPort -Attachments $Attachment