Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 4493 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
Webbrowser
gelöst Daten in entfernte Mysql DB schreiben (3)

Frage von nullacht15 zum Thema Webbrowser ...

Batch & Shell
Daten aus dem Feld "date sent" in den Titel schreiben (2)

Frage von ellocko94 zum Thema Batch & Shell ...

Java
gelöst Zurück zum Schleifenanfang (4)

Frage von Todybear zum Thema Java ...

Windows Tools
Microsoft gibt SharePoint Framework in Version 1.0 frei

Link von Yannosch zum Thema Windows Tools ...

Neue Wissensbeiträge
LAN, WAN, Wireless

WPA-2 hat erste Risse: KRACK

(2)

Information von the-buccaneer zum Thema LAN, WAN, Wireless ...

Hardware

GPD Pocket: Winziger Laptop für Wenig Tipper

(1)

Information von pelzfrucht zum Thema Hardware ...

Windows 10

Microsoft veröffentlicht das "Fall Creators Update

(10)

Information von Penny.Cilin zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows Server
gelöst Gruppenrichtlinie greift nicht zu! (23)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (20)

Frage von sunics zum Thema Hosting & Housing ...

Windows 7
gelöst Windows 7 Anmeldedomäne festlegen (13)

Frage von flotaut zum Thema Windows 7 ...