Normalerweise wuerde ich die als *.csv speichern und als Text-Array mittels C oder Java Programm bearbeiten. Heute habe ich eine Excel-Datei zum bearbeiten vorliegen, wo ein paar Reihen farblich dargestellt sind und ein paar Spalten rechts- und mittig formatiert sind. Koennte man einer Zwischen-Konvertierung zu *.csv wieder hinkriegen. Aber gibt es einfachere Moeglichkeiten zum automatisierten Bearbeiten? Z.b. sollen in den Reihen 500-1000 Texte eingetragen werden, die ich bereits aus dem automatisierten Befragen von whois als Datei vorliegen habe. 500x Copy und Paste ist nicht so erprickelnd ...
In Java gibts die POI API von Apache http://poi.apache.org/ Damit kannst du alle möglichen Office Dokumente in Java bearbeiten Gruß Informatiker
Ich verwende eine html table :) Und dazu Excel spezifische tags für die Formatierung! Speichere mal das Excel sheet als html ab, schau dir den Erzeugten html Code an und verändere die Inhalte nach Deinen Wünschen. Geht super einfach. Oder du verwendest Open xml. Dazu gibt's ein paar APIs und Du kannst damit xslx erzeugen.
Normal gibts VBA (Visual Basic for Applications) dafür. Das ist bei Dir mit Sicherheit auch alles schon installiert. Ggf musst Du im Office-Setup die Hilfe-Dateien nachinstallieren. Dann kannst Du direkt auf die Zellen und die Formatierungen zugreifen. Es gibt sogar ActiveX Controls, mit denen Du HTTP, FTP und MAIL aus VBA heraus machen kannst. fchk
einfach mal mitten drin anfangen! ohne vorerklärung! kein wunder dass du hier fragen musst... www.google.de http://msdn.microsoft.com/de-de/library/ms173186%28v=vs.80%29.aspx
>einfach mal mitten drin anfangen! ohne vorerklärung! kein wunder dass du >hier fragen musst... > >www.google.de Und wie geht das mit Linux bitteschoen? Ich habe von VBA, VB, ... KEINE Ahnung. Excel oeffne und speichere ich mit Open Office.
Als ODF-Tabelle speichern, auspacken und mit dem XML-Werkzeugsatz deiner Wahl weiterbearbeiten?
Wie schon gesagt: POI API von Apache: http://poi.apache.org/ Oder Java Excel API: http://jexcelapi.sourceforge.net/
oder NOA für Java und OpenOffice / LibreOffice http://ubion.ion.ag/loesungen/004niceofficeaccess/releases/2.2.3
Ich optiere nun doch fuer C#, weil ich das Konvertieren und Zurueck-Konvertieren von MS-Files in schlechter Erinnerung habe. C# ist natuerlich nicht Sprache meiner Wahl, aber in diesem Fall kann man mein Problem ganz einfach loesen. So einfach erzeugt man eine Excel-Datei:
1 | Excel.Application xlApp; |
2 | Excel.Workbook xlWorkbook = null; |
3 | Excel.Worksheet xlWorksheet = null; |
4 | object misValue = System.Reflection.Missing.Value; |
5 | |
6 | xlApp = new Excel.ApplicationClass(); |
7 | xlWorkbook = xlApp.Workbooks.Add(misValue); |
8 | xlWorksheet = (Excel.Worksheet)xlWorkbook.Worksheets.get_Item(1); |
9 | xlWorksheet.Cells[1, 1] = "csharp.net-informations.com"; |
10 | |
11 | xlWorkbook.SaveAs("C:\\tmp\\1.xls", |
12 | Excel.XlFileFormat.xlWorkbookNormal, |
13 | misValue, misValue, misValue, misValue, |
14 | Excel.XlSaveAsAccessMode.xlExclusive, |
15 | misValue, misValue, misValue, misValue, misValue); |
16 | |
17 | xlWorkbook.Close(false, misValue, misValue); |
18 | xlApp.Quit(); |
Jürgen G. schrieb: > weil ich das Konvertieren und Zurueck-Konvertieren > von MS-Files in schlechter Erinnerung habe Bei diesen APIs wird normal auch nicht hin und her konvertiert sondern direkt auf der Exceldatei gearbeitet. Jürgen G. schrieb: > So einfach erzeugt man eine Excel-Datei ... und so einfach mit JExcel
1 | WritableWorkbook workbook = Workbook.createWorkbook(new File("test.xls")); |
2 | WritableSheet sheet = workbook.createSheet("Test", 0); |
3 | sheet.addCell(new Label(0, 0, "TestCell")); |
4 | workbook.write(); |
5 | workbook.close(); |
Je nachdem wie ausgefeilt deine Änderungswünsche sind kann es in C# natürlich besser gehen da näher an MS drann...
>Bei diesen APIs wird normal auch nicht hin und her konvertiert sondern >direkt auf der Exceldatei gearbeitet. Du meinst wahrscheinlich dieses: (?) >Oder Java Excel API: > http://jexcelapi.sourceforge.net/ Da wird tatsaechlich direkt in die Excel-Datei geschrieben. Aber bei diesem Tool habe ich wenig Vertrauen, da das letzte Update 2009 war. Oft gibt es in sourceforge Projekte, die mal gut angefangen haben, aber dann halbfertig liegengelassen wurden und vor sich hin tuempeln. > kann es in C# natürlich besser gehen da näher an MS drann So sehe ich das auch: MS Windoofs ist nicht mein Wunsch-OS, C# schon gar nicht meine Favorite Language. Aber manchmal MUSS man mit MS-Formaten arbeiten, wenn man seine Broetchen verdienen will.
Jürgen G. schrieb: > Aber bei diesem Tool habe ich wenig Vertrauen, > da das letzte Update 2009 war Nun gut man muss ja nicht auf Krampf Updates raus bringen, ich nutz' das schon länger und bisher funktionierts ganz gut. Jürgen G. schrieb: > Da wird tatsaechlich direkt in die Excel-Datei geschrieben Bei dem Apache POI müßte das auch so sein, ich hab das allerdings noch nicht verwendet da es für meine Anfordwerung (einfaches lesen/schreiben) schon zu mächtig ist, dafür ist das Projekt "up-to-date" und kann auch sehr viel mehr als nur XLS lesen. Jürgen G. schrieb: > Aber manchmal MUSS man Man sollte das nicht so sehr als Zwang sehen dann geht vieles einfacher ;)
Jürgen G. schrieb: > So einfach erzeugt man eine Excel-Datei: Nimm das auf keinem Fall! Das funktioniert nur dann wenn jeder Nutzer genau dieselbe Excel-Version auf dem jeweiligen PC installiert hat.
>Nimm das auf keinem Fall! Das funktioniert nur dann wenn jeder Nutzer >genau dieselbe Excel-Version auf dem jeweiligen PC installiert hat. oder ist dann VBA besser? http://msdn.microsoft.com/de-de/library/ms173186%28v=vs.80%29.aspx Mittlerweile sehe ich Vorteile von der java-Lösung, http://jexcelapi.sourceforge.net/ da man KEIN Excel braucht, das ganze auch unter Linux möglich ist.
Jürgen G. schrieb: > oder ist dann VBA besser? > http://msdn.microsoft.com/de-de/library/ms173186%2... Hab ich nie behauptet. > Mittlerweile sehe ich Vorteile von der java-Lösung, > http://jexcelapi.sourceforge.net/ > da man KEIN Excel braucht, das ganze auch unter Linux möglich ist. Für c# gibt es auch bessere Lösungen, als die eine von MS.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.