Sto costruendo un'app con dati di base (1 entità con 5 attributi) che vengono visualizzati in una tabellaView. Ora vorrei esportare questi dati in un file CSV (così posso inviare questo file con la posta dal telefono) così posso aprirlo in Excel su Windows. cerco molto ma non ho trovato la risposta giusta. Qualcuno può aiutarmi o darmi un link ad una buona spiegazione o tutorial?Come creare un file CSV da Core Data (swift)
Sto costruendo in swift btw.
func createExportString() -> String {
var merk: String?
var ref: String?
var beschrijving: String?
var aantal: String?
var wbs: String?
var export = NSLocalizedString("merk, ref, beschrijving, aantal, wbs \n", comment: "")
merk = Lijst.valueForKey("merk") as? String
ref = Lijst.valueForKey("ref") as? String
aantal = Lijst.valueForKey("aantal") as? String
beschrijving = Lijst.valueForKey("beschrijving") as? String
wbs = Lijst.valueForKey("wbs") as? String
let merkString = "\(merk!)" ?? "-"
let refString = "\(ref!)" ?? "-"
let beschString = "\(beschrijving!)" ?? "-"
let aantalString = "\(aantal!)" ?? "-"
let wbsString = "\(wbs!)" ?? "-"
export += merkString + "," + refString + "," + beschString + "," + aantalString +
"," + wbsString + "\n"
print("This is what the app will export: \(export)")
return export
}
@IBAction func saveToCSV(sender: AnyObject) {
exportDatabase()
}
func exportDatabase() {
var exportString = createExportString()
saveAndExport(exportString)
}
func saveAndExport(exportString: String) {
let exportFilePath = NSTemporaryDirectory() + "export.csv"
let exportFileURL = NSURL(fileURLWithPath: exportFilePath)
NSFileManager.defaultManager().createFileAtPath(exportFilePath, contents: NSData(), attributes: nil)
var fileHandleError: NSError? = nil
var fileHandle: NSFileHandle? = nil
do {
fileHandle = try NSFileHandle(forWritingToURL: exportFileURL)
} catch {
print("Error with fileHandle")
}
if fileHandle != nil {
fileHandle!.seekToEndOfFile()
let csvData = exportString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
fileHandle!.writeData(csvData!)
fileHandle!.closeFile()
let firstActivityItem = NSURL(fileURLWithPath: exportFilePath)
let activityViewController: UIActivityViewController = UIActivityViewController(activityItems: [firstActivityItem], applicationActivities: nil)
self.presentViewController(activityViewController, animated: true, completion: nil)
}
}
Controllare http://stackoverflow.com/questions/10572172/how-to-export-core-data-to-csv – UlyssesR
@UlyssesR sono già venuto a quello, ma sono solo un principiante e non hai davvero un'idea su come convertire obejctive-c per swift ... –
Forse questo video passo dopo passo ti aiuta, https://www.youtube.com/watch?v=iBZbMkmtHuU – UlyssesR