问题描述
- Android如何将SQLite数据库中的数据导出为csv格式的文件
-
搜到了下边这个方法,但是我没实现功能,请各位指教。最好能有代码
public void ExportToCSV(Cursor c, String fileName) {int rowCount = 0; int colCount = 0; FileWriter fw; BufferedWriter bfw; File sdCardDir = Environment.getExternalStorageDirectory(); File saveFile = new File(sdCardDir, fileName); try { rowCount = c.getCount(); colCount = c.getColumnCount(); fw = new FileWriter(saveFile); bfw = new BufferedWriter(fw); if (rowCount > 0) { c.moveToFirst(); // 写入表头 for (int i = 0; i < colCount; i++) { if (i != colCount - 1) bfw.write(c.getColumnName(i) + ','); else bfw.write(c.getColumnName(i)); } // 写好表头后换行 bfw.newLine(); // 写入数据 for (int i = 0; i < rowCount; i++) { c.moveToPosition(i); // Toast.makeText(mContext, "正在导出第"+(i+1)+"条", // Toast.LENGTH_SHORT).show(); Log.v("导出数据", "正在导出第" + (i + 1) + "条"); for (int j = 0; j < colCount; j++) { if (j != colCount - 1) bfw.write(c.getString(j) + ','); else bfw.write(c.getString(j)); } // 写好每条记录后换行 bfw.newLine(); } } // 将缓存数据写入文件 bfw.flush(); // 释放缓存 bfw.close(); // Toast.makeText(mContext, "导出完毕!", Toast.LENGTH_SHORT).show(); Log.d("导出数据", "导出完毕!"); Toast.makeText(SecondActivity.this, "默认Toast样式", Toast.LENGTH_SHORT).show(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { c.close(); } }
解决方案
数据库文件导出csv格式
将csv数据文件导入到sqlite数据库中
Android将SQLite数据表导出到csv格式文件 .
解决方案二:
csv格式就是回车分割记录行,逗号分隔字段,如果数据有逗号,需要加上引号。
你说的这代码什么问题?基本思路差不多,你自己对照完善下。
时间: 2025-01-02 08:26:11