/// <summary> /// /// </summary> /// <param name="fileId"></param> /// <param name="format">xlsx, ods, csv, tsv, zip (html zip)</param> /// <exception cref="HttpRequestException"></exception> /// <returns></returns> public static async Task ExportExcel(string fileId, Stream copy, ExportExcelType format = ExportExcelType.xlsx, CancellationToken cancellationToken = default) { string url = $"https://docs.google.com/spreadsheets/d/{fileId}/export?format={format}&id={fileId}"; using HttpRequestMessage httpRequestMessage = new HttpRequestMessage(HttpMethod.Get, url); httpRequestMessage.Headers.Referrer = new Uri("https://docs.google.com"); using HttpResponseMessage httpResponseMessage = await NetExtensions.httpClient.SendAsync(httpRequestMessage, HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); await(await httpResponseMessage.EnsureSuccessStatusCode().Content.ReadAsStreamAsync().ConfigureAwait(false)).CopyToAsync(copy, 81920, cancellationToken).ConfigureAwait(false); }
public string RunExport(ExportExcelType type, ExportRunEntity runEntity, DataTable dtMain, params DataTable[] dtSub) { string errorMessage = string.Empty; lock (this) { runEntity = ProcessCellStyle(runEntity); switch (type) { case ExportExcelType.Reconciliation: errorMessage = RunExportReconciliation(runEntity, dtMain, dtSub); break; case ExportExcelType.Bill: errorMessage = RunExportBill(runEntity, dtMain, dtSub); break; } } return(errorMessage); }
public string RunExport(ExportExcelType type, ExportRunEntity runEntity, params DataTable[] dtData) { string errorMessage = string.Empty; lock (this) { runEntity = ProcessCellStyle(runEntity); switch (type) { case ExportExcelType.Simple: errorMessage = RunExportSimple(runEntity, dtData); break; case ExportExcelType.Merge: errorMessage = RunExportMerge(runEntity, dtData); break; } } return(errorMessage); }