mercredi 21 octobre 2015

How to implement Export SQLite DATABASASE To excel/csv file in android?

I want to export my sqlite database tables in to csv file. I am developing android app where SQlite as a database.I want to export certain result from DB in to csv/excel file format programatically, want to store that excel to local device path I have come across following links.

But as i'm new to android couldn't find the proper solution

here is my DATABASE code

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

import java.util.Calendar;
import java.util.LinkedList;
import java.util.List;

public class CustomersDbAdapter {
public static final String DIALY_PURCHASE_CASH_TABLE = "TableDailyPurchase";
    public static final String CASH_PURCHASE_COMPANY = "companyName";
    public static final String CASH_PURCHASE_AMOUNT = "cashinneramount";

    public static final String CREATE_DIALY_PURCHASE_CASH = "CREATE TABLE "+DIALY_PURCHASE_CASH_TABLE+"" +
            "("+KEY_ROWID+" INTEGER PRIMARY KEY AUTOINCREMENT," +
            ""+CASH_PURCHASE_COMPANY+" VARCHAR2(255)," +
            ""+CASH_PURCHASE_AMOUNT+" INTEGER," +
            ""+CASH_CREATED_AT+"," +
            "UNIQUE (" + CASH_PURCHASE_COMPANY +"))";
public final Context mCtx;
    private SQLiteDatabase readableDatabase;
 public static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }
@Override
        public void onCreate(SQLiteDatabase db) {
            Log.w(TAG, DATABASE_CREATE);
            db.execSQL(CREATE_DIALY_PURCHASE_CASH);
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
                    + newVersion + ", which will destroy all old data");
            db.execSQL("DROP TABLE IF EXISTS " + DIALY_PURCHASE_CASH_TABLE);
            onCreate(db);
        }  
 public CustomersDbAdapter(Context ctx) {
        this.mCtx = ctx;
    }

    public CustomersDbAdapter open() throws SQLException {
        mDbHelper = new DatabaseHelper(mCtx);
        mDb = mDbHelper.getWritableDatabase();
        return this;
    }
public long dialycash(String name, int amount ){
        String aTime = updateTime();
        ContentValues initialValues = new ContentValues();
        initialValues.put(CASH_PURCHASE_COMPANY, name);
        initialValues.put(CASH_PURCHASE_AMOUNT, amount);
        initialValues.put(CASH_CREATED_AT, aTime);
        return mDb.insert(DIALY_PURCHASE_CASH_TABLE, null, initialValues);
    }
private String updateTime() {
        final Calendar c = Calendar.getInstance();
        int hour = c.get(Calendar.HOUR_OF_DAY);
        int mint =c.get(Calendar.MINUTE);
        String timeSet = "";
        if (hour > 12) {
            hour -= 12;
            timeSet = "PM";
        } else if (hour == 0) {
            hour += 12;
            timeSet = "AM";
        } else if (hour == 12)
            timeSet = "PM";
        else
            timeSet = "AM";

        String minutes = "";
        if (mint < 10)
            minutes = "0" + mint;
        else
            minutes = String.valueOf(mint);
        String aTime = new StringBuilder().append(hour).append(':')
                .append(minutes).append(" ").append(timeSet).toString();
        return aTime;
    }

Now i want to Store DIALY_PURCHASE_CASH_TABLE to be stored in my CSV file Help me please.... Thank you

Aucun commentaire:

Enregistrer un commentaire