J'ecris un programme permettant de recuperer des informations depuis un fichier xlsx.
Tout fonctionne tres bien sauf pour les cases contenant des string de plus de 255 caracteres.
J'ai regarde sur google et trouve quelques pistes mais aucunes n'ont abouties.
Notament la modification dans le registre des cles TypeGuessRows comme indique dans l'article suivant:
OleDbConnection ExcelConnection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + xlsFileLocation.Text + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES\"");
OleDbCommand ExcelCommand = new OleDbCommand()
{
Connection = ExcelConnection
};
OleDbDataAdapter ExcelAdapter = new OleDbDataAdapter(ExcelCommand);
ExcelConnection.Open();
DataSet elements = new DataSet();
ExcelCommand.CommandText = @"SELECT * FROM " + SpreadSheetName;
ExcelAdapter.Fill(elements);
String titre = elements.Tables[0].Rows[0]["titre"];
// if titre > 255 alors la column du dataset ne prends que les 255 premiers caracteres
Solution
Le probleme se pose bien au niveau du registre:
Sur un x64 il faut modifier la cle TypeGuessRows se trouvant ici:
Changer la valeur initialement a '8' a '3a98' qui est une valeur pour supporter 15000 caracteres.
J'espere que ca pourra aider.
Merci pour votre aide.
Cordialement,
Linvi
xlsx truncate string 255 chars
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.