0

アプリケーションを作成していて、.xls ファイルを xml に変換して Web サービスにフィードする必要があります。私のすべてのグーグル検索には、手動での変換が含まれます。iOS を介してこれを自動的に行う方法に関するチュートリアルを見つけることができませんでした。これを含む優れたチュートリアルや本を知っている人はいますか?

ありがとう、ウィリアム

4

2 に答える 2

0

多くの検索の後、Flynn1179 が提案したように、.xls ファイルを .xls ファイルとして送信するソリューションを見つけることができました。ファイルを xml として Web サービスに送信する必要があると考えて混乱しました。以下は私が使用したコードです:

-(void)uploadFile:(NSString*)filename withExtension:(NSString*)extension{
    NSString* path = [[NSBundle mainBundle] pathForResource:filename ofType:extension];

    NSData *data = [NSData dataWithContentsOfFile:path];

    NSString *urlString = @"http://server/path/to/webservice/call";
    NSMutableURLRequest *request= [[[NSMutableURLRequest alloc] init] autorelease];
    [request setURL:[NSURL URLWithString:urlString]];
    [request setHTTPMethod:@"POST"];
    NSString *boundary = @"---------------------------14737809831466499882746641449";
    NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
    [request addValue:contentType forHTTPHeaderField: @"Content-Type"];
    NSMutableData *postbody = [NSMutableData data];
    [postbody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [postbody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"uploadedfile\"; filename=\"%@.%@\"\r\n", filename, extension] dataUsingEncoding:NSUTF8StringEncoding]]; //"uploadedfile" should be substituted for whatever variable the backend script expects the file variable to be
    [postbody appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    [postbody appendData:data];
    [postbody appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [request setHTTPBody:postbody];

    NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
    NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
    NSLog(@"returned string: %@", returnString); //Just for display purposes

}

みんなの助けに感謝

于 2010-10-08T09:32:05.207 に答える
0

2 つの選択肢があります。それを .xlsx に変換すると、ほとんどの作業が完了します。または、反対側で .xls を単純に「解凍」することを計画している場合は、単に<data type="application/vnd.ms-excel">(Base64encoded file contents)</data>、または同様のことを行うことができます。

于 2010-10-06T12:43:32.957 に答える