ios - 以编程方式将 Sqlite 表数据导出到 csv 文件

标签 ios sqlite csv

<分区>

Possible Duplicate:
Exporting Sqlite table data to csv file programatically - xcode iOS 5 (for an ipad app)

我正在开发一个简单的应用程序。我正在使用 sqlite 将数据保存到表中(在本地,在应用程序文档文件夹中)。我想有问题地将此表数据导出到 csv 文件中,然后通过电子邮件将其发送给某个人。我的意思是我想在 iPad 中转换后物理访问 csv 文件....任何人都可以提供示例应用程序下载吗?还是代码? 请帮忙

最佳答案

这应该会给您一个好主意。假设一个表有 2 行,此代码读取表中的所有值并将它们写入 NSString,然后将其写入文档目录中的 CSV 文件。如果您需要说明如何使此代码适用于您的特定项目,请告诉我。

    NSString *csv = [[NSString alloc] init];

    sqlite3 *database;

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *sqLiteDb
    = [documentsDirectory stringByAppendingPathComponent:@"INSERT_DATABASE_NAME.sqlite3"];


    if(sqlite3_open([sqLiteDb UTF8String], &database) == SQLITE_OK) {
        const char *sqlStatement = [[NSString stringWithFormat:@"SELECT * FROM myTable"] UTF8String];
        sqlite3_stmt *compiledStatement;
        if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) {

           while(sqlite3_step(compiledStatement) == SQLITE_ROW) { 
             //this assumes that there are two rows in your database you want to get data from   
             [csv stringByAppendingFormat:@"%@,%@\n", [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 0)], [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 1)]];
           }

          sqlite3_finalize(compiledStatement);
          sqlite3_close(database);
        }else{
            NSLog(@"database error");
        }
    }

NSError *error = nil;
[csv writeToFile:[documentsDirectory stringByAppendingPathComponent:@"myFile.csv"]
      atomically:YES encoding:NSUTF8StringEncoding error:&error];

[csv release];

关于ios - 以编程方式将 Sqlite 表数据导出到 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12007825/

相关文章:

ios - 上传图片到 Firebase

iphone - 我们如何以编程方式启用/禁用默认的 iPhone 相机?

mysql - mysql能否将csv或其他txt文件导入一列?

java - 在 Spring 批处理的 FlatfileItemReader 文件中引用的 CSV 中的读取换行符

PHP:按名称打开压缩文件(不解压)

ios - 如何在 swift 中使用 alamofire 上传图库图像

iphone - 在包含错误的 UITextfield 周围制作一个红色边框

c++ - 如何在没有外部脚本的情况下链接 CMake 和 SQLite?

c++ - sqlite3_column_text 返回的 SQLite 奇怪值

java - 没有这样的表 : goods: