Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Mit Powershell 1.0 über OLEDB geänderte Daten in XLSX zurück schreiben

Frage Entwicklung

Mitglied: Feuerstein08

Feuerstein08 (Level 1) - Jetzt verbinden

24.04.2010 um 20:51 Uhr, 4477 Aufrufe

Ich weiß nicht, ob das der "sinnvollste" Weg ist, aber es ist ein Anfang ...

Hallo zusammen,

ich möchte eine größere Excel Datei einlesen Inhalte überprüfen, ggf. ändern und dann in die XLS* zurückschreiben.
Nachdem ich nun eine Weile geGOOGLED habe, bin ich an diesem Punkt.

Ich kann eine XLSX Tabelle mittels OLEDB einlesen und Wert ändern, aber wie bekomme ich den Wert in die Tabelle zurückgeschrieben?

So sieht meine kleine Beispieltabelle aus:
bd296cfd4f05033d2fed672c268194e7 - Klicke auf das Bild, um es zu vergrößern

Und hier der Code soweit:
01.
cls 
02.
 
03.
#Pfad zur XLSX 
04.
$filepath = "C:\1\test.xlsx" 
05.
#Connection String für Excel 2007: 
06.
$connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=`"$filepath`";Extended Properties=`"Excel 12.0 Xml;HDR=YES`";" 
07.
 
08.
$qry = 'select * from [Beispiel$]' 
09.
 
10.
####################### 
11.
function Get-ExcelData 
12.
13.
     param($connString, $qry='select * from [sheet1$]') 
14.
  
15.
    $conn = new-object System.Data.OleDb.OleDbConnection($connString) 
16.
    $conn.open() 
17.
    $cmd = new-object System.Data.OleDb.OleDbCommand($qry,$conn)  
18.
    $da = new-object System.Data.OleDb.OleDbDataAdapter($cmd)  
19.
    $dt = new-object System.Data.dataTable  
20.
    [void]$da.fill($dt) 
21.
	 
22.
    $conn.close() 
23.
    $dt 
24.
  
25.
} #Get-ExcelData 
26.
  
27.
####################### 
28.
function Write-DataToXLSX 
29.
{  
30.
??? 
31.
  
32.
}# Write-DataTableToXLSX 
33.
  
34.
####################### 
35.
$dt = Get-ExcelData $connString $qry 
36.
$dt[1].Vorname 
37.
$dt[1].Vorname = "Maus" 
38.
$dt[1].Vorname 
39.
 
Ich habe also einen Vornamen geändert - und wie bekomme ich das wieder in meine Tabelle und wie speichere ich die Tabelle dann?
Da ich in über 5000 Datensätzen nach xxx Usern suchen muss, Änderungen vornehme und dann wieder zurückschreiben muss, ist eine performante Bearbeitung notwendig. Ist das der beste Weg?

Vielen Dank für jede Hilfe!
Feuerstein08
Neuester Wissensbeitrag
Router & Routing

192.168er Adresse im öffentlichen Netz

(1)

Erfahrungsbericht von visco-c zum Thema Router & Routing ...

Ähnliche Inhalte
Batch & Shell
gelöst PowerShell Daten aus Array mit Daten aus Hashtable verknüpfen (2)

Frage von derhoeppi zum Thema Batch & Shell ...

Batch & Shell
gelöst Mit Powershell Daten löschen, die eckige Klammern im Namen haben (2)

Frage von arduino zum Thema Batch & Shell ...

Batch & Shell
Daten nach dem auslesen per Powershell moven - kopieren - löschen (1)

Frage von Luckyyluck zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch und Powershell (2)

Frage von michi-ffm zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Zusammenarbeit
Als Administrator im Großraumbüro (27)

Frage von Dopamin85 zum Thema Zusammenarbeit ...

Exchange Server
Test-ActiveSyncConnectivity Error nach neuem Zertifikat (21)

Frage von Driphex zum Thema Exchange Server ...

Hyper-V
HYPER V und USB (16)

Frage von Hendrik2586 zum Thema Hyper-V ...