【问题标题】:Exporting Sqlite table data to csv file programatically - xcode iOS 5 (for an ipad app)以编程方式将 Sqlite 表数据导出到 csv 文件 - xcode iOS 5(用于 ipad 应用程序)
【发布时间】:2012-08-13 01:54:39
【问题描述】:

我正在开发一个简单的应用程序。我正在使用 sqlite 将数据保存到表中(本地,在应用程序文档文件夹中)。我想有问题地将此表数据导出为 csv 文件并将其通过电子邮件发送给某人。 Export SQLite data to Excel in iOS programmatically - 我试过这个,但它不工作......有人可以提供一个示例应用程序下载吗?还是代码?

目前,我在命令行中使用这些命令将 db 表转换为 csv - .mode、.output out.csv、select * from table;

请帮忙

【问题讨论】:

  • 当你说它不起作用时,什么不起作用?发生了什么、错误、日志?
  • // TODO:互斥锁? [sqliteDb exportCsv: csvPath]; - 这是我不明白的地方......所以我改用了文档路径......你认为代码是工作代码吗?请问您有什么建议吗?

标签: ios csv sqlite export


【解决方案1】:

这是我为表格数据生成 csv 所做的工作。 在这里,我已经完成了简单的测试。但您需要做的是以这种方式生成 2d 数组以生成 NSArray,就像我在此示例中所做的那样。

这里 NSArray 中的第一个组件是 table 的一行,第二个组件是 table 的第二行,同样...

NSArray *array = [NSArray arrayWithObjects:@"NAME,NUMBER",@"\nbhargavi1,12345",@"\nHiral,23456",@"\nHarish,34567", nil];    

NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *filename=[NSString stringWithFormat:@"test.csv"];
NSString *filePathLib = [NSString stringWithFormat:@"%@",[docDir stringByAppendingPathComponent:filename]];

[[array componentsJoinedByString:@","] writeToFile:filePathLib atomically:YES encoding:NSUTF8StringEncoding error:NULL];

请执行此操作。也许这可以帮助你。

我已经在我的项目中实现了它,它对我非常有用

【讨论】:

  • 如果电话号码是 10 位数字,那么它会给出不同的格式。我也想在列中有新行。就像我有两个电话号码,然后在电话列中,它将在两行但在同一行。
  • @Durgaprasad 我没有尝试在同一列中换行,如果您找到相同的解决方案,请在此处发布,以便其他人可以查看。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-23
  • 1970-01-01
  • 2012-09-23
  • 2015-03-06
  • 2013-11-06
  • 1970-01-01
  • 2011-10-27
相关资源
最近更新 更多