1

C#を使用して、GoogleドキュメントにExcelファイルをアップロードします。次の構文を使用してxlsファイルをアップロードします

//use Content-Type: text/csv
     entry.MediaSource = new MediaFileSource("E:\\Emailcontent.xls", "text/csv");

しかし、ファイルをアップロードした後、csvに変換すると機能しません。しかし、この変換は必要ありません。GoogleドキュメントにExcelファイルをアップロードしたいだけです。変換せずにExcelファイルをアップロードするのを手伝ってください。

  string USERNAME = "xxx@gmail.com";
            string PASSWORD = "xxxxx";

            // Start the service and set credentials
            DocumentsService service = new DocumentsService("MyDocumentsListIntegration-v1");
            service.setUserCredentials(USERNAME, PASSWORD);
            Authenticator authenticator = new ClientLoginAuthenticator("TestApi", Google.GData.Client.ServiceNames.Documents, service.Credentials);
            DocumentEntry entry = new DocumentEntry();
            // Set the document title
            entry.Title.Text = "Legal Contract";
            entry.IsSpreadsheet = true;
            // Set the media source
            //entry.MediaSource = new MediaFileSource("E:\\New Microsoft Office Word Document.doc", "application/msword");
            entry.MediaSource = new MediaFileSource("E:\\Emailcontent.xls", "text/csv");
            // Define the resumable upload link
            Uri createUploadUrl = new Uri("https://docs.google.com/feeds/upload/create-session/default/private/full");
            AtomLink link = new AtomLink(createUploadUrl.AbsoluteUri);
            link.Rel = ResumableUploader.CreateMediaRelation;
            entry.Links.Add(link);

            // Set the service to be used to parse the returned entry
            entry.Service = service;

            // Instantiate the ResumableUploader component.
            ResumableUploader uploader = new ResumableUploader();

            // Set the handlers for the completion and progress events
            uploader.AsyncOperationCompleted += new AsyncOperationCompletedEventHandler(OnDone);
            uploader.AsyncOperationProgress += new AsyncOperationProgressEventHandler(OnProgress);

            // Start the upload process
            uploader.InsertAsync(authenticator, entry, new object());
4

2 に答える 2

2

xls(Excel)ファイルをtext/csvとして渡します。xlsとしてアップロードする場合は、

entry.MediaSource = new MediaFileSource("E:\\Emailcontent.xls", "text/csv");    

xlsとしてアップロードする場合は、

entry.MediaSource = new MediaFileSource("E:\\Emailcontent.xls", "application/vnd.ms-excel"); 

これが私が使用したウィキペディア/グーグル検索です:

http://en.wikipedia.org/wiki/Internet_media_type

于 2012-06-13T14:28:32.740 に答える
0

ドキュメントをアップロードするときにドキュメントが変換されないようにする?convert=falseには、アップロードURIにも追加する必要があります。

于 2012-07-12T10:02:01.280 に答える