2012-06-13 2 views
1

использовать C#, хотите загрузить файл excel в google doc. ниже синтаксиса использования, чтобы загрузить файл XLSкак загрузить файл excel в google doc

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

, но это не работает, после загрузки файла обращенного в CSV .Но я не хочу этого conversion.I просто хочу, чтобы загрузить файл первенствовать в моем Google doc.Help мне, чтобы загрузить файл Excel с вне conversion.Thanks в пожилом

string USERNAME = "[email protected]"; 
      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()); 
+0

В будущем я бы предложил сначала прочитать api, прежде чем публиковать вопрос. Я понимаю, что иногда легко застревать и искать неправильное решение, но это было бы легко решить, сделав некоторые исследования перед публикацией. Это наверняка спасет вам некоторые головные боли! :) – Tom

ответ

2

Вы передаете Файловые XLS (Excel) в виде текста/CSV. Если вы хотите загрузить в формате XLS, используйте

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

Если вы хотите загрузить в формате XLS, используйте

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

Здесь есть поиск википедия/Google, что я использовал:

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

+0

большое спасибо – shamim

0

Чтобы документы не конвертировались при их загрузке, вы также должны добавить? Convert = false для загрузки uri