Witam,

Mam problem z importem pliku Excelowego do TDBGrid w c++ builder. Funkcja ladowania danych jak ponizej :

 
		ADODataSet1->ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0
			;Data Source = '"+FileName+"' ";
                ADODataSet1->CommandText = "SELECT * FROM [Data$]"; 
                ADODataSet1->Open(); 
                DataSource1->DataSet = ADODataSet1; 
                DBGrid1->DataSource = DataSource1; 

Problem jest z importem komorek w ktorych liczba zankow przekracza 256. Pojawiaja sie dziwne znaki zapytania na koncu wartosci danej komorki.

Probowalem cos szukac ale niestety zadnego rozwiazania. Doszedlem do pewnej rzeczy, ze jezeli np mam do zaladowania plik z trzema wierszami gdzie wiersz pierwszy ma znakow 0 drugi np 350 i trzeci 300 to zaladuje sie do dataseta wlasnie ze znakami '?' wiersz 2 i 3. Natomiast jezeli zmienie kolejnosc wierszy czyli pierwszy bedzie mial 350 znakow potem ten co ma 0 i na koniec ten co ma 300 to wyswietla sie poprawnie.

Zapewne podczas ladowania danych ustawia on datatype danej kolumny w dataset na wartosc text a powinien np wideMemo. Nie bardzo wiem niestety jak to ustawic zanim plik excelowy zostanie zaladowany do dataset.

Moze ktos zna rozwiazanie?

Pozdrawiam,

Łukasz