任务:我们需要从C#应用程序发送一封包含excel附件的电子邮件(例如:filename.xls)
问题状态:无法打开从C#应用程序发送的iPhone中的Excel附件。
错误:无法查看文档。文件格式无效。
数据从报表服务器呈现,并使用以下代码写入excel文件:
byte[] bytes = rptAffirmativeTradeReportViewer.ServerReport.Render(format, null, out mimetype, out encoding,out filenameExtension, out streamids, out warnings);
string sfilename = filename.xls
try
{
FileStream fs = File.Create(sFileName);
fs.Write(bytes, 0, bytes.Length);
fs.Close();
}
catch (Exception ex)
{
throw ex;
}
上面的代码生成一个名为filename.xls的文件,其中包含数据。
然后该文件将附加到outlook并发送给用户。
使用iPhone的用户无法打开Excel并且收到错误。 使用Android的用户可以打开excel文件。
请帮助告诉我们在iPhone中打开此文件需要执行的操作。
答案 0 :(得分:2)
UIWebView *webView = (UIWebView*)self.view;
self.actualFilePath = filePath;
NSLog(@"File Path %@",filePath);
NSString *mimeType = @"";
if ([fileType caseInsensitiveCompare:@"PDF"]==NSOrderedSame){
mimeType = @"application/pdf";
} else if ([fileType caseInsensitiveCompare:@"DOC"]==NSOrderedSame){
mimeType = @"application/msword";
} else if ([fileType caseInsensitiveCompare:@"XLS"]==NSOrderedSame){
mimeType = @"application/vnd.ms-excel";
}
[webView loadData:[NSData dataWithContentsOfFile:filePath] MIMEType:mimeType textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@"http://www.google.com"]];
希望它有用