11

我正在尝试在 .csv 文件中获取我的所有联系人。我已经完成了获取联系人的第一部分,现在剩下的是将文件写入 .csv 文件。请告诉我如何在 android 中创建 .csv 文件。

4

1 回答 1

21

检查下面的代码以生成 CSV 文件。无需使用 jar 文件。

您必须将一个 csv 文件保存到 SD-CARD 中。

public void exportEmailInCSV() throws IOException {
    {

        File folder = new File(Environment.getExternalStorageDirectory()
                + "/Folder");

        boolean var = false;
        if (!folder.exists())
            var = folder.mkdir();

        System.out.println("" + var);


        final String filename = folder.toString() + "/" + "Test.csv";

        // show waiting screen
        CharSequence contentTitle = getString(R.string.app_name);
        final ProgressDialog progDailog = ProgressDialog.show(
                MailConfiguration.this, contentTitle, "even geduld aub...",
                true);//please wait
        final Handler handler = new Handler() {
            @Override
            public void handleMessage(Message msg) {




            }
        };

        new Thread() {
            public void run() {
                try {

                    FileWriter fw = new FileWriter(filename);

                    Cursor cursor = db.selectAll();

                    fw.append("No");
                    fw.append(',');

                    fw.append("code");
                    fw.append(',');

                    fw.append("nr");
                    fw.append(',');

                    fw.append("Orde");
                    fw.append(',');

                    fw.append("Da");
                    fw.append(',');

                    fw.append("Date");
                    fw.append(',');

                    fw.append("Leverancier");
                    fw.append(',');

                    fw.append("Baaln");
                    fw.append(',');

                    fw.append("asd");
                    fw.append(',');

                    fw.append("Kwaliteit");
                    fw.append(',');

                    fw.append("asd");
                    fw.append(',');

                    fw.append('\n');

                    if (cursor.moveToFirst()) {
                        do {
                            fw.append(cursor.getString(0));
                            fw.append(',');

                            fw.append(cursor.getString(1));
                            fw.append(',');

                            fw.append(cursor.getString(2));
                            fw.append(',');

                            fw.append(cursor.getString(3));
                            fw.append(',');

                            fw.append(cursor.getString(4));
                            fw.append(',');

                            fw.append(cursor.getString(5));
                            fw.append(',');

                            fw.append(cursor.getString(6));
                            fw.append(',');

                            fw.append(cursor.getString(7));
                            fw.append(',');

                            fw.append(cursor.getString(8));
                            fw.append(',');

                            fw.append(cursor.getString(9));
                            fw.append(',');

                            fw.append(cursor.getString(10));
                            fw.append(',');

                            fw.append('\n');

                        } while (cursor.moveToNext());
                    }
                    if (cursor != null && !cursor.isClosed()) {
                        cursor.close();
                    }

                    // fw.flush();
                    fw.close();

                } catch (Exception e) {
                }
                handler.sendEmptyMessage(0);
                progDailog.dismiss();
            }
        }.start();

    }

}

在清单中添加此权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
于 2013-03-14T07:02:54.310 回答