Я пытаюсь передать файл Excel объемом 100 МБ из Dropbox и записать в базу данных SQL.
Я создал приложение Dropbox API и создал клиент Dropbox в коде C #.
Связь с Dropbox работает, но я получаю сообщение об ошибке при попытке проанализировать поток документов Excel.
Тот же файл Excel при потоковой передаче с моего локального компьютера, работает нормально.
====
КОД:
using System;
using System.Data;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using Dropbox.Api;
using ExcelDataReader;
using System.Data.SqlClient;
class Program
{
static void Main(string[] args)
{
var task = Task.Run((Func<Task>)Program.Run);
task.Wait();
}
static async Task Run()
{
using (var dbx = new DropboxClient("Access Key"))
{
var full = await dbx.Users.GetCurrentAccountAsync();
Console.WriteLine("{0} - {1}", full.Email, full.Name.DisplayName);
var list = await dbx.Files.ListFolderAsync(string.Empty);
var response = await dbx.Files.DownloadAsync("/Input Files/SampleInputExcelFile.xlsx");
// This Http stream doesn't work
Stream stream1 = await response.GetContentAsStreamAsync();
// This stream does work
Stream stream = File.Open("C:\\<PATH>\\Input Files\\SampleInputExcelFile.xlsx", FileMode.Open, FileAccess.Read);
// This line of code throws the error..
IExcelDataReader reader = ExcelDataReader.ExcelReaderFactory.CreateOpenXmlReader(stream1);
DataSet result = reader.AsDataSet();
//reader.IsFirstRowAsColumnNames = true;
DataTable dt = result.Tables[0];
string text = "'" + dt.Rows[10][0].ToString() + "'" + "," + dt.Rows[10][1].ToString() + "," + dt.Rows[10][2].ToString() + "," + dt.Rows[10][3].ToString();
// SQL steps start from here...
}
}
}
Необработанное исключение: System.AggregateException: произошла одна или несколько ошибок. (Указанный метод не поддерживается.) ---> System.NotSupportedException: Указанный метод не поддерживается.
в System.Net.Http.HttpContentStream.Seek (смещение Int64, источник SeekOrigin)
в ExcelDataReader.ExcelReaderFactory.CreateOpenXmlReader (поток fileStream, конфигурация ExcelReaderConfiguration) в C: \ projects \ exceldatareader \ src \ ExcelDataReader \ ExcelReaderFactory.cs
Буду признателен за любую помощь!
Заранее спасибо!
P.S. Я абсолютный нуб в C #, поэтому, пожалуйста, простите за наивность в моем коде.