Używam klasy OleDbConnection do pobierania danych z Excel 2000/2003 skoroszycie:komórkowe Wartości Excel są obcinane przez OLEDB-provider
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + filename + ";" +
"Extended Properties=\"Excel 8.0;IMEX=1\";";
OleDbConnection connection = new OleDbConnection(connectionString);
connection.Open();
// code to get table name from schema omitted
var dataAdapter = new OleDbDataAdapter(string.Format("SELECT * FROM [{0}]", name),connection);
var myDataSet = new DataSet();
dataAdapter.Fill(myDataSet, "ExcelInfo");
Teraz okazuje się, że komórki w arkuszu z długości większej ponad 255 znaków jest obcinanych. Czy jest to ograniczenie w dostawcy Microsoft.Jet.OLEDB, czy jest coś, co mogę z tym zrobić?
Ktoś?
dzięki. Jest to nieco brzydkie rozwiązanie, ponieważ mój instalator będzie musiał zmodyfikować rejestr użytkownika, ale spodziewam się, że zadziała. Tak długo, jak administrator uruchamia instalator .. –
Nie rozumiem sugestii microsofts tutaj/jeśli zmienisz go na 16, czy nie sprawdza się tylko pierwszych 16 wierszy ?? – leora
@ooo Po zmianie na 0, skanuje wszystkie wiersze. Bądź jednak ostrożny, ponieważ może to mieć wpływ na wydajność większych tabel. – rmoore