Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Limite de taille VARCHAR dans les feuilles de calcul Excel

Bien que XLOPER12 prenne désormais en charge une chaîne jusqu'à 32 767 caractères Unicode, la fonction xlfEvaluate (et autre) Excel C-Api continue d'être limitée à 255 caractères dans Excel 2010. Elle renverra xltypeErr si elle reçoit un XLOPER12 avec une chaîne plus longue supérieur à 255.

Toutes les chaînes que l'utilisateur voit dans Excel sont depuis de nombreuses versions stockées en interne sous forme de chaînes Unicode. Les chaînes de feuille de calcul Unicode peuvent comporter jusqu'à 32 767 (215 - 1) caractères et peuvent contenir n'importe quel caractère Unicode valide.

Lorsque l'API C a été introduite pour la première fois, les chaînes de feuille de calcul étaient des chaînes d'octets limitées en longueur à 255 caractères, et l'API C reflétait ces limitations. Avec Excel 2007, l'API C est mise à jour pour gérer les longues chaînes Unicode Excel. Cela signifie que les fonctions DLL enregistrées de la bonne manière peuvent accepter des arguments Unicode et renvoyer des chaînes Unicode.

Remarque :les chaînes d'octets sont toujours entièrement prises en charge dans l'API C pour la compatibilité descendante, mais elles ont toujours la même limite de 255 caractères. Pas de solution simple autre que de tronquer la chaîne ou de diviser la chaîne en plusieurs cellules.