sql >> Databasteknik >  >> RDS >> Sqlserver

VARCHAR-storleksgräns i Excel-kalkylblad

Även om XLOPER12 nu kommer att stödja en sträng upp till 32 767 Unicode-tecken lång, fortsätter xlfEvaluate (och annan) excel C-Api-funktion att vara begränsad till 255 tecken lång i Excel 2010. Den kommer att returnera xltypeErr om den passeras en XLOPER12 med en längre sträng än 255.

Alla strängar som användaren ser i Excel har i många versioner nu lagrats internt som Unicode-strängar. Unicode-kalkylbladssträngar kan vara upp till 32 767 (215 - 1) tecken långa och kan innehålla vilket giltigt Unicode-tecken som helst.

När C API introducerades första gången var kalkylbladssträngar bytesträngar begränsade i längd till 255 tecken, och C API återspeglade dessa begränsningar. Med Excel 2007 uppdateras C API för att hantera långa Unicode-strängar i Excel. Det betyder att DLL-funktioner registrerade på rätt sätt kan acceptera Unicode-argument och returnera Unicode-strängar.

Obs:Byte-strängar stöds fortfarande fullt ut i C API för bakåtkompatibilitet, men de har fortfarande samma 255-teckengräns. Ingen enkel lösning förutom att trunkera strängen eller dela strängen i flera celler.




  1. Generera slumpmässiga namn i sql

  2. hämta tabellnamn från en kolumn för från-sats

  3. Hur producerar kombinerade resultat från två MySQL-tabeller med PDO

  4. Oracle SQL Regexp_replace matchning