Mit Java Outlook Kontakte aus einer Excelliste generieren

Ne, war ein anderer Fehler bei mir. Er hatte die Datei nicht gefunden, musste erst auf "C://test.csv"
ändern.

Vielen Dank!:)

Ich würde das ganze gerne noch um Profilbilder erweitern, klappt das?
 
Das habe ich, mir fehlt nur was davor kommen muss.



Package org.Green.test;

import java.io.FileWriter;
import java.io.IOException;

public class readimage {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
FileWriter fw = new FileWriter(f);
if ( encoding.toLowerCase().startsWith("base64") ) {
Base64Coder b64 = new Base64Coder();
byte[] decodedB;
char[] decodedC;
decodedB = b64.decode(attachement); // Dekodierung wird in Byte-Array gespeichert
decodedC = new char[decodedB.length];
for ( int d=0;d<decodedC.length;d++ ) {
decodedC[d] = (char)decodedB[d]; // Byte-Array wird in Char-Array umgeschrieben
}
fw.write( decodedC ); // FileWriter schreibt das CharArray
fw.close(); // und schließt sich
}
} catch ( IOException e ) {}

}

}
 
Mal als Ansatz mit CardMe:
Java:
package com.youza.test;

import java.io.File;
import java.io.IOException;
import java.io.Writer;
import java.io.*;

import info.ineighborhood.cardme.engine.VCardEngine;
import info.ineighborhood.cardme.io.VCardWriter;
import info.ineighborhood.cardme.util.Util;
import info.ineighborhood.cardme.vcard.EncodingType;
import info.ineighborhood.cardme.vcard.VCard;
import info.ineighborhood.cardme.vcard.types.PhotoType;
import info.ineighborhood.cardme.vcard.types.media.ImageMediaType;

public class CreateVCard {

	/**
	 * @param args
	 */
	private static VCardEngine vcardEngine = null;

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			File vcard_file = new File("petrea.vcf");
			System.out.println(vcard_file);
			vcardEngine = new VCardEngine();
			VCard vcard = vcardEngine.parse(vcard_file);

			PhotoType photo = new PhotoType();
			photo.setCompression(false);

			photo.setEncodingType(EncodingType.BINARY);

			photo.setImageMediaType(ImageMediaType.JPEG);


			byte[] tuxPicture1 = Util.getFileAsBytes(new File(
					"Hydrangeas.jpg"));

			photo.setPhoto(tuxPicture1);

			vcard.addPhoto(photo);
			saveToFile( "petreb.vcf" , vcard);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	public static void saveToFile( String fileName , VCard vcard) {
	    Writer output = null;   
	    File file = new File(fileName);   
	    try {
	        output = new BufferedWriter(new FileWriter(file));
	        VCardWriter writer = new VCardWriter();
	        writer.setVCard(vcard);
	        output.write(writer.buildVCardString());  
	        output.flush();  
	        output.close(); 
	    } catch (IOException e) {
	        // TODO Auto-generated catch block
	        e.printStackTrace();
	    }   
	    }

}

@Edit hab im Moment leider etwas wenig Zeit schau heut abend nochmal drüber
 
ich kanns jetzt nicht testen ich glaub es gibt noch ein kleines Encoding problem zum einem hab ich den ersten teil so gelassen wie er war und der zweite Teil ist mit CardMe gemacht. Du musst natürlich noch einiges umstellen aber ich denke es ist ein Ansatz mit dem du arbeiten kannst.

Achja im Moment sind es 2 Main klassen also das musst du mindestens umändern.

Falls ich noch Zeit finde schau ich dass ich des noch ganz hinbekomme
Viele Grüße
Youza
 

Anhänge

  • vcard.zip
    250,5 KB · Aufrufe: 6
Super, vielen Dank. Versuche es hinzubekommen, das Encoding Problem hatte ich mit dem was ich versucht hatte auch schon.


Beste Grüße,
Green
 
habs dir nochmal umgestellt und verwende zum encoden den common Encoder von Apache ich häng dir des aktuelle Projekt nochmal an.

Das Programm wird jetzt auch nur noch aus der einer Main gestartet erstellet erst die vCards ohne Photo und fügt anschließend die Photos mit CardMe hinzu.

Grüße
Youza
 

Anhänge

  • vcard.zip
    1,4 MB · Aufrufe: 6
Zurück