お世話になります。
アプリからメーラーを立ち上げ送信する際、配列の中身をCSVファイルに変換して添付したいと思っています。
swift
1 func toCSV(input: [[String]]) -> String { 2 return input.map { 3 $0.map { 4 $0.containsString(",") || $0.containsString("\"") 5 ? "\"" + $0.stringByReplacingOccurrencesOfString("\"", withString: "\"\"") + "\"" 6 : $0 7 }.joinWithSeparator(",") 8 }.joinWithSeparator("\r\n") 9 }
CSVに変換する方法はこちらのやり方で上手くいったのですが、パソコン側からファイルを開いてみるとデータが横並びになってしまい、困っています。
もし可能ならばパソコンで表示する際縦並びのデータ表示にしたいと思っているのですが、配列に保存している以上仕方がないことなのでしょうか?コードなどで指定できるのが理想なのですが、もし方法などがありましたらご教授ください。
乱文失礼いたします。よろしくお願いいたします。
補足です。
swift
1 func onClickMailButton() { 2 if MFMailComposeViewController.canSendMail() == false { 3 print("Email Send Failed") 4 return 5 } 6 csvData += ([todoItem]) 7 sendMailWithCSV("メール件名", message: "メール本文", csv: csvData) 8 9 }
swift
1 func sendMailWithCSV(subject: String, message: String, csv: [[String]]) { 2 let mailViewController = MFMailComposeViewController() 3 mailViewController.mailComposeDelegate = self 4 let toRecipients = ["メールアドレス"] 5 mailViewController.setSubject(subject) 6 mailViewController.setToRecipients(toRecipients) 7 8 mailViewController.addAttachmentData(toCSV(csv).dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!,mimeType: "csv", fileName: "sample.csv") 9 self.presentViewController(mailViewController, animated: true) {} 10 11 }
添付ファイルはこのように作成しています。
説明不足で申し訳ありません。
回答1件
あなたの回答
tips
プレビュー