i using google data api .net (https://code.google.com/p/google-gdata/) read data google docs spreadsheets.
i have found reading large spreadsheet ( > 14000 records) takes long time, several hours, before returning data.
the code i'm using below, there method use read data, or missing else speed process?
public void readspreadsheet(string applicationname, string title, string sheetname, string cellrange, string username, string password) { var service = new spreadsheetsservice(applicationname); service.setusercredentials(username, password); spreadsheetentry spreadsheetentry = getspreadsheetbytitle(service, title); worksheetentry worksheetentry = getworksheetbytitle(spreadsheetentry.worksheets, sheetname); atomentrycollection list = getcells(service, worksheetentry, cellrange); } public static spreadsheetentry getspreadsheetbytitle(spreadsheetsservice service, string title) { var query = new spreadsheetquery(); query.title = title; spreadsheetfeed feed = service.query(query); return (from spreadsheetentry entry in feed.entries title.equals(entry.title.text, stringcomparison.invariantcultureignorecase) select (entry)).firstordefault(); } public static worksheetentry getworksheetbytitle(worksheetfeed feed, string title = null) { return (from worksheetentry entry in feed.entries title != null && title.equals(entry.title.text, stringcomparison.invariantcultureignorecase) select (entry)).firstordefault(); } public static atomentrycollection getcells(spreadsheetsservice service, worksheetentry entry, string range) { atomlink cellfeedlink = entry.links.findservice(gdataspreadsheetsnametable.cellrel, null); var query = new cellquery(cellfeedlink.href.tostring()); query.range = range; query.returnempty = returnemptycells.yes; // line takes time cellfeed feed = service.query(query); return (feed.entries); }
Comments
Post a Comment