Hallo alle zusammen,
erst einmal einen schönen Abend. Ich sitz gerade an einem Versuch aus einer ACCESS DB eine bestimmte Tabelle auszulesen und in eine CSV Datei umzuwandeln.
Das ist der Code:
Nun habe ich zwei Probleme:
1. In der Spalte Lagerbestand bekomme ich Ergebnisse im CSV mit 2.00000000000000000000 hier hätte ich jedoch gerne eine 2 stehen.
2. Die erstellte CSV hat das Problem, wenn ich es in Excel öffnen bekomme ich Codierungsfehler z.B. das Durchschnittszeichen wir nicht richtig dargestellt.
Wäre schön, wenn mir hier jemand helfen könnte. Bin gerade ziemlich am verzweifeln.
Euch allen einen gute Nacht.
Liebe Grüße
erst einmal einen schönen Abend. Ich sitz gerade an einem Versuch aus einer ACCESS DB eine bestimmte Tabelle auszulesen und in eine CSV Datei umzuwandeln.
Das ist der Code:
Java:
package logic;
import java.io.File;
import java.io.FileWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
import com.opencsv.CSVWriter;
public class AccessToCSV {
static final String JDBC_DRIVER = "net.ucanaccess.jdbc.UcanaccessDriver";
static final String DB_URL = "jdbc:ucanaccess://Sicherung.mdb";
static final String USER = "";
static final String PASS = "";
static final Scanner in = new Scanner(System.in);
public AccessToCSV() throws SQLException {
}
public static void connectToDatabase()
{
try{
System.out.println("Connection Successfull");
System.out.println("----------------------------------------------");
}
catch(Exception e)
{
}
}
public static void getDatabase()
{
try {
Class.forName(JDBC_DRIVER);
Statement stmt = null;
Connection con = DriverManager.getConnection(DB_URL);
stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
String sql = "Select Artikel_ID, Artikelbeschreibung,Lagerbestand,AnsInternet FROM Artikel";
ResultSet rs = stmt.executeQuery(sql);
CSVWriter writer = new CSVWriter(new FileWriter(new File("Output.csv")), ';');
writer.writeAll(rs, true);
writer.close();
}catch (Exception e){
System.out.println("Error" +e);
}
}}
Nun habe ich zwei Probleme:
1. In der Spalte Lagerbestand bekomme ich Ergebnisse im CSV mit 2.00000000000000000000 hier hätte ich jedoch gerne eine 2 stehen.
2. Die erstellte CSV hat das Problem, wenn ich es in Excel öffnen bekomme ich Codierungsfehler z.B. das Durchschnittszeichen wir nicht richtig dargestellt.
Wäre schön, wenn mir hier jemand helfen könnte. Bin gerade ziemlich am verzweifeln.
Euch allen einen gute Nacht.
Liebe Grüße