Monday, August 27, 2012

Database Table export to CSV in Android

Here Download  OpenCV2.3.1.jar  and export in your project.


MainActivity.java 


        File dbFile=getDatabasePath("yourDBname.sqlite");
        Databasehelper dbhelper = new Databasehelper(getApplicationContext());
         File exportDir = new File(Environment.getExternalStorageDirectory(), "");       
        if (!exportDir.exists())
        {
            exportDir.mkdirs();
        }

        File file = new File(exportDir, "csvname.csv");
        try
        {
            file.createNewFile();               
            CSVWriter csvWrite = new CSVWriter(new FileWriter(file));
            SQLiteDatabase db = dbhelper.getReadableDatabase();
            Cursor curCSV = db.rawQuery("SELECT * FROM TableName",null);
            csvWrite.writeNext(curCSV.getColumnNames());
            while(curCSV.moveToNext())
            {
               //Which column you want to exprort
                String arrStr[] ={curCSV.getString(0),curCSV.getString(1), curCSV.getString(2)};
                csvWrite.writeNext(arrStr);
            }
            csvWrite.close();
            curCSV.close();
        }
        catch(Exception sqlEx)
        {
            Log.e("MainActivity", sqlEx.getMessage(), sqlEx);
        }
   
Dont forget to add

AndroidManifest.xml


 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

1 comment: