Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }