【问题标题】:Unable to open my excelSheet in MS-Excel iOS app from my iOS app via url scheme无法通过 url 方案从我的 iOS 应用程序在 MS-Excel iOS 应用程序中打开我的 excelSheet
【发布时间】:2015-06-08 07:18:27
【问题描述】:

实际上,我正在关注this 文档,以通过 url 方案从我的应用程序在 iOS MS_EXCEL 应用程序中打开我的 excel 表。 通过使用它的文档,我成功打开了 EXCEL 应用程序。但我完全无法打开我的 excel 表。每次 EXCEL 应用程序都会在此图像中显示错误

我正在将我保存的文件 url 传递给 Excel 应用程序。我已经通过 iExplorer 检查了保存的文件路径。该文件已完美打开。但是在 Excel 应用中,它真的让我很头疼。

请帮我看看我在哪里犯了错误。 这是我的代码 sn-p

static NSString * encodeByAddingPercentEscapes(NSString *input) {
NSString *encodedValue =
(NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(
                                                    kCFAllocatorDefault,
                                                    (CFStringRef)input,
                                                    NULL,
                                                    (CFStringRef)@"!*'();:@&=+$,/?%#[]",
                                                    kCFStringEncodingUTF8));
return encodedValue;

}

 -(NSURL*)excelUrlStringForFile:(NSString*)urlFile WithContext:(NSString*)strContext
 {
NSURL *result =[NSURL URLWithString:[[NSString stringWithFormat:@"ms-excel:ofe|u|%@|p|%@|c|%@",encodeByAddingPercentEscapes(urlFile),urlScheme,strContext] stringByAddingPercentEscapesUsingEncoding:4]];
return result;
}

如果我没有使用“NSUTF8StringEncoding 编码字符串” 上面的NSURL 对象result 设置为nil。所以我必须使用编码。

 NSURL *openExcelURL = [self excelUrlStringForFile:filePath WithContext:str_fileName];
        if([[UIApplication sharedApplication] canOpenURL:openExcelURL])
        {
            [[UIApplication sharedApplication] openURL:openExcelURL];
}

【问题讨论】:

  • Naaaah.. 不走运.. 我有另一种临时方法.. UIDocumentIntractionController
  • 这是我从this post的cmets中读到的:Due to the security model of iOS applications, it’s not possible to directly open a local file from an application to another application.

标签: ios excel url-scheme


【解决方案1】:

我处于同样的情况,我正在尝试从其他应用程序打开本地文件,查看您看到我找到此文本的 excel URL 方案的网站。貌似不能用这个方法打开本地文件,很奇怪,只是引用了OneDrive和SharePoint文件...=S

如果有人知道这个问题会对我们非常有用

您可以让在 iOS 设备上运行 Office 的用户从任何应用程序打开和编辑存储在 SharePoint 或 OneDrive 中的文件,然后在他们完成文件编辑后快速将它们返回到原始应用程序。为此,您需要通过协议处理程序将文件传递给 Office,并确保以 Office 可以理解的方式调用 Office。

【讨论】:

  • 我尝试了各种方法来以这种方式完成它。但没有尝到胜利的滋味。所以现在我不得不临时使用 UIDocumentInteractionController 在 excel 中打开我的文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-06
  • 2013-04-27
  • 2014-05-16
  • 1970-01-01
相关资源
最近更新 更多