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, 4480 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
Ähnliche Inhalte
Google Android
Android zurück setzen (9)

Frage von rocco61 zum Thema Google Android ...

Batch & Shell
gelöst Powershell - Verwendung von PSSession erzeugt Fehlermeldung (2)

Frage von Dani zum Thema Batch & Shell ...

Windows Tools
Reg Auswertung mit Powershell (1)

Frage von Bommi1961 zum Thema Windows Tools ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
CMS
Lokales Wordpress im LAN - wie aufsetzen? (16)

Frage von Static zum Thema CMS ...

Java
gelöst Net user per script aus txt oder csv für FTP (15)

Frage von OlliPWS zum Thema Java ...

Exchange Server
Microsoft Exchange Weiterleitung mit anderer primären E-Mail Adresse (14)

Frage von Rene12345 zum Thema Exchange Server ...

LAN, WAN, Wireless
IP im privaten Netz nicht erreichbar (14)

Frage von guntis zum Thema LAN, WAN, Wireless ...