SQLiteToExcel

项目地址:li-yu/SQLiteToExcel
简介:A simple lib for Android to export SQLite to Excel, also Excel to SQLite.
更多:作者   提 Bug   
标签:

Download

English README

SQLiteToExcel 库整合了 Apache POI 和一些基本的数据库查询操作,使得 SQLite 和 Excel 之间相互转换更加便捷。

更新历史

Release Notes

如何使用

1.添加 Gradle 依赖或者下载 Jar 文件作为 libs 添加到工程中

compile 'com.liyu.tools:sqlitetoexcel:1.0.4'

SqliteToExcel-v1.0.4.jar

2.添加 SD 卡读写权限到 AndroidManifest.xml(Android 6.0 及以上需要处理运行时权限)

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

3.SQLite -> Excel 示例代码(具体示例可参考 demo 工程)

  • 初始化(默认导出路径为外部 SD 卡根目录 Environment.getExternalStorageDirectory()
    SqliteToExcel ste = new SqliteToExcel(this, "helloworld.db");
    
    或(指定导出的根目录)
    SqliteToExcel ste = new SqliteToExcel(this, "helloworld.db", "/mnt/sdcard/myfiles/");
    
  • 导出单个表到 excel
    ste.startExportSingleTable(String table, String fileName, ExportListener listener);
    
  • 导出多个表到 excel
    ste.startExportTables(List<String> tables, String fileName, ExportListener listener);
    
  • 导出所有表到 excel
    ste.startExportAllTables(String fileName, ExportListener listener);
    
  • 任务监听器接口

    public interface ExportListener {
          void onStart();
    
          void onCompleted(String filePath);
    
          void onError(Exception e);
      }
    

4.Excel -> SQLite 示例代码(具体示例可参考 demo 工程)

  • 初始化
    ExcelToSqlite ets = new ExcelToSqlite(this, "user.db");
    
  • 从 assets 目录传入 excel 文件
    ets.startFromAsset(String assetFileName, ImportListener listener);
    
  • 以 File 形式传入任意 excel 文件
    ets.startFromFile(File file, ImportListener listener);
    
  • 任务监听器接口

    public interface ImportListener {
          void onStart();
    
          void onCompleted(String dbName);
    
          void onError(Exception e);
      }
    

5.感谢

6.注意事项

  • Excel 导入 SQLite 时,默认取 excel 中 sheet 的第一行作为数据库表的列名,样式请参考 demo
  • 目前仅支持 blob 字段导出为图片,因为我也不知道 byte[] 是文件还是图片。
  • 数据库文件须位于/data/data/包名/databases/下,一般都是位于这个目录下。

关于我

Android 开发经验分享
Android 开发经验分享