Partage
  • Partager sur Facebook
  • Partager sur Twitter

xlsx truncate string 255 chars

Sujet résolu
    20 mars 2011 à 2:29:29

    Bonjour,

    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:

    http://support.microsoft.com/kb/189897

    Voici ce que je fais:


    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:

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel

    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
    • Partager sur Facebook
    • Partager sur Twitter

    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.
    • Editeur
    • Markdown