gpt4 book ai didi

sql-server-2008 - Excel 电子表格中的 VARCHAR 大小限制

转载 作者:行者123 更新时间:2023-12-02 02:17:38 25 4
gpt4 key购买 nike

我正在尝试使用以下连接字符串将一些数据从 SQL Server 2008 数据库读取到 Excel 2007 电子表格中:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=foo.xlsx;Extended Properties='Excel 12.0 XML;HDR=YES'

数据库中的一列是 VARCHAR(1000)。当我尝试在电子表格中重新创建架构时,似乎 Excel 的 VARCHAR 最多只支持 255。This page提示“一个单元格可以包含的字符总数”在32K左右,所以原则上应该可以得到更长的字符串。

是否有一种简单的方法来解决 255 个字符的限制?

最佳答案

虽然 XLOPER12 现在将支持最长 32,767 个 Unicode 字符的字符串,但 xlfEvaluate(和其他)excel C-Api 函数在 Excel 2010 中继续限制为 255 个字符长。如果传递 XLOPER12 它将返回 xltypeErr长度超过 255 的字符串。

对于许多版本,用户在 Excel 中看到的所有字符串现在都在内部存储为 Unicode 字符串。 Unicode 工作表字符串的长度最多可达 32,767 (215 - 1) 个字符,并且可以包含任何有效的 Unicode 字符。

首次引入 C API 时,工作表字符串是字节字符串,长度限制为 255 个字符,C API 反射(reflect)了这些限制。在 Excel 2007 中,更新了 C API 以处理 Excel 长 Unicode 字符串。这意味着以正确方式注册的 DLL 函数可以接受 Unicode 参数并返回 Unicode 字符串。

注意:为了向后兼容,C API 仍然完全支持字节字符串,但是它们仍然有相同的 255 个字符限制。除了截断字符串或​​将字符串分成多个单元格外,没有简单的解决方案。

关于sql-server-2008 - Excel 电子表格中的 VARCHAR 大小限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9711489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com