neue Daten in eine schon bestehende Exceldatei schreiben
Julia
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 30.01.2012, 15:47
Titel: neue Daten in eine schon bestehende Exceldatei schreiben
Hallo ihr lieben,
ich hab eine Exceldatei mit ca. 6000 Tabellenblättern. In jedem Tabellenblatt habe ich 4 Spalten aber unterschiedlich viele zeilen.
Ich möchte nun in die 5. Spalte einen Wert aus einer anderen Datei hinzufügen. Wie mache ich das?
Also ich habe eine Ausgangsdatei in Matlab (num), die mir in ihrerer ersten Spalte Zahlen anzeigt (die sind nicht fortlaufend).
Ich möchte nun die Zahl aus der ersten Zeile in das Tabellenblatt 1 und die Zahl aus der zweiten Zeile in Tabellenblatt 2 ... usw. (num und meine Exceldatei sind gleichlang)
bei sheet giebt man das tabellenblat an.
allerdings wird das bei 6000 seite ne ewigkeit dauern da du glaub ich das für jedes sheet einzeln machen must.
guck mal bei mathworks in fileexchange obs da nicht ne bessere lösung giebt.
Julia
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 30.01.2012, 16:09
Titel:
jupp es dauert eine ewigkeit sowas zu machen
aber wenn ich für das "sheet" einen index kreeiere (von 1:6000 vortlaufend) dann macht matlab das trotzdem nicht -.-
mit dem code in xlswrite musst du auch nicht klar kommen. du musst ihn nur in den ordner mit deinem matlab skript kopieren damit er den neuen statt den alten xlswrite für dein problem nimmt. die handhabung bleibt die gleiche.
Julia
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 30.01.2012, 17:13
Titel:
okay,
er ist in dem ordner
aber dann muss ich doch die function [success, message] in mein skript integrieren oder?
mein problem von oben scheint auch noch nicht behoben zu sein. Ich habs mal ne weile Laufen lassen und in meiner Spalte F steht nichts.
Julia
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 30.01.2012, 17:21
Titel:
okay, nein, ich hab mich verschrieben ... es funktioniert ^^
jetzt muss ich das nur noch mit der Funktion hinbekommen
du solltest es erstmal mit ner beispiel datei versuchen. und nicht mit den 6000 seiten. um die funktion zu testen. [success, message] musst du nicht benutzen. machst du doch beim orignial xlswrite auch nicht. mein beispiel code funktioniert soweit. ich kann dir also nur helfen wenn du deine weiteren fehler genauer beschreibst.
edit:
der import usw klappt aber ja? nicht das da schon fehler sind.
edit2:
wenns jetzt klappt welche funktion? xlswrite? die neue funktioniert genau wie die alte und wird automatisch benutzt weil du sie im selben ordner hast wie dein matlab script. du merkst da keinen unterschied. ist nur schneller
Julia
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 30.01.2012, 17:34
Titel:
also es funktioniert, wenn ich für meinen dateinamen einen fiktiven nehme ... dann erstellt er mir eine neue datei und schreibt da die Zahlen aus num rein.
mit der schon existierenden datei funktioniert es nur teilweise.
Das könnte daran liegen, dass in meinem (num) die Zahlen nicht ducrhgängig sind. also auf 1 folgt 2 folgt 4 folgt 6
bis jetzt stehen nur die zahlen 1 und 2 im tabellenblatt ... aber weiter nicht.
der import der Daten funktioniert soweit
hier der vollständige Code
Code:
data = importdata('Y:\Home\pommeren\PEP725\entpackte_Dateien\txt\PEP725_DE_Acer(Acer_platanoides).txt',';',1);
data = data.data;
num = unique(data(:,1)); % sucht die jeweiligen Stationen heraus % und schreibt in die erste Spalte von C nochmal die Stationen und in % Spalte 2 die restlichen Daten
C = [num2cell(num), arrayfun(@(x) data(data(:,1) == x, 2:end),num , 'Uniformoutput', false)]; % kann denke ich hier ignoriert werden (das sind die Daten die schon in der Tabelle stehen)
numm=(num)'; % hab ich gemacht, weil sonst mein x=1 ist und das nicht funktioniert
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.